我想对数据做一些分析。到目前为止,我可以对我想要的列进行分组,现在我需要在这里添加两列是我的逻辑:
import pandas as pd
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'bar'],
'B' : ['one', 'one', 'two', 'two',
'two', 'two', 'one', 'two'],
'C' : [-1,2,3,4,5,6,0,2],
'D' : [-1,2,3,4,5,6,0,2]})
grouped = df.groupby(['A','B']).sum()
print grouped
输出如下:
C D
A B
bar one 2 2
two 12 12
foo one -1 -1
two 8 8
[4 rows x 2 columns]
我现在需要的是两个使用一些加法操作来添加列C和D并生成如下输出:
A B Sum
bar one 4
two 24
foo one -2
two 16
任何想法都会对我有所帮助,因为我是python的新手
答案 0 :(得分:2)
您可以定义新列Sum
:
In [107]: grouped['Sum'] = grouped['C']+grouped['D']
现在grouped
看起来像这样:
In [108]: grouped
Out[108]:
C D Sum
A B
bar one 2 2 4
two 12 12 24
foo one -1 -1 -2
two 8 8 16
[4 rows x 3 columns]
仅选择Sum
列(作为DataFrame使用双括号):
In [109]: grouped[['Sum']]
Out[109]:
Sum
A B
bar one 4
two 24
foo one -2
two 16
[4 rows x 1 columns]