在熊猫中的数据框中分组
问题描述:
我有一个列表,例如
I have a list such as
groups = [['Group1', 'A', 'B'], ['Group2', 'C', 'D']]
和一个数据框,例如
A 100
B 200
C 300
D 400
我想从上面的列表中得出一个组总和,成为:
I want to make a group sum from the list above to become:
Group 1 300
Group 2 700
如何使用python熊猫做到这一点? 不用说我是熊猫的新手.谢谢.
How can I do this using python pandas? Needless to say I am a newbie in pandas. Thanks.
答
另一种选择...但是似乎@jezrael的方法更好!
Another option...but seems @jezrael's way is better!
import pandas as pd
groups = [['Group1', 'A', 'B'], ['Group2', 'C', 'D']]
df0 = pd.melt(pd.DataFrame(groups).set_index(0).T)
df1 = pd.read_clipboard(header=None) # Your example data
df = df1.merge(df0, left_on=0, right_on='value')[['0_y', 1]]
df.columns = ['Group', 'Value']
print df.groupby('Group').sum()
Value
Group
Group1 300
Group2 700