为不同大小的数据帧提供适当的concat

  • 本文关键字:concat 数据帧 python pandas
  • 更新时间 :
  • 英文 :


我有一些不同行大小的数据帧(列相同(,我想计算最后一行中每列的总和,然后将它们组合在一个数据帧中。

我正在使用这个功能:

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()

最新更新