在pandas中的数据框架中创建一个组

Cag*_*lar 5 python dataframe pandas

我有一个列表,如

groups = [['Group1', 'A', 'B'], ['Group2', 'C', 'D']]
Run Code Online (Sandbox Code Playgroud)

和一个数据帧,如

A 100
B 200
C 300
D 400
Run Code Online (Sandbox Code Playgroud)

我想从上面的列表中得出一组总和成为:

Group 1 300
Group 2 700
Run Code Online (Sandbox Code Playgroud)

我怎么能用python pandas做到这一点?不用说我是熊猫的新手.谢谢.

su7*_*u7k 1

另一种选择...但似乎@jezrael 的方式更好!

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
Run Code Online (Sandbox Code Playgroud)