我有一些不同行大小的数据帧(列相同(,我想计算最后一行中每列的总和,然后将它们组合在一个数据帧中。
我正在使用这个功能:
def day_sum(tot_df):
week_days = ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU', 'Total']
week = []
for this_day in week_days:
day = tot_df[tot_df['DayColumn'] == this_day]
day = day.append(day.sum(numeric_only=False), ignore_index=True)
day.loc[day.index[-1], 'Value'] = 'Total'
day.loc[day.index[-1], 'DayColumn'] = this_day
week.append(day)
df = pd.concat(week, ignore_index=True)
return df
这就是我得到的:
(tot_df)
index Column1 Column2 Column3
0 3 2 3
1 4 3 4
2 7 4 5
3 4 5 6
sum 18
sum 14
sum 20
这就是我需要的:
(tot_df)
index Column1 Column2 Column3
0 3 2 3
1 4 3 4
2 7 4 5
3 4 5 6
sum 18 14 20
我有什么办法可以防止这种情况发生吗;sum";排在最后?提前感谢您的回复。
只需使用:
df.loc[len(df)] = ['sum'] + df[df.columns[1:]].sum(0).tolist()