刚刚熟悉大熊猫,我遇到了groupby
的问题。
我有一些CSV数据,我已经采用以下格式:
Time, AAA, BBB, AAA, BBB
20161201 9:00:00, 10, 20, 11, 21
20161201 9:00:01, 10, 20, 11, 21
20161201 9:00:02, 10, 20, 11, 21
我想将其转换为以下内容:
Time, AAA, BBB
20161201 9:00:00, 21, 41
20161201 9:00:01, 21, 41
20161201 9:00:02, 21, 41
我正在使用以下内容:
df.groupby(df.columns, axis=1).sum()
我得到的是:
AAA, BBB, Time
21, 41, 0.0
21, 41, 0.0
21, 41, 0.0
如何防止pandas汇总时间列?我尝试了以下方法:
df.groupby([c for c in df.columns if c != "Time"], axis=1).sum()
但是会出错:
Grouper for 'AAA' not 1-dimensional
如何避免pandas移动时间列?
如果重要,我将两个pandas DataFrames合并在一起,使用以下方法获取上述数据:
df = pd.merge(df1, df2, how="outer")
然后重命名一些列以缩短名称,以便我可以对它们进行分组。
答案 0 :(得分:3)
df.set_index('Time').groupby(axis=1, level=0).sum().reset_index()
Time AAA BBB
0 20161201 9:00:00 21 41
1 20161201 9:00:01 21 41
2 20161201 9:00:02 21 41
答案 1 :(得分:2)