【发布时间】:2017-04-14 14:52:29
【问题描述】:
我有一个基本的数据框,结构如下:
Col1
Ind1 Ind2
0 key1 12
key2 35
1 key3 56
key4 24
key5 65
...还有一个这样的:
ColA
0 key1
1 else
2 else
3 key3
我需要的是 df1 的平均值,根据 Ind2 是否在 df2 中进行分组。 这是我尝试但没有成功的方法;消息是“长度必须匹配才能比较”——但当然,它们不匹配。
df1 = pd.DataFrame({'ind1': [0, 0, 1, 1, 1], 'ind2': ['key1', 'key2', 'key3', 'key4', 'key5'], 'col1': [12, 35, 56, 24, 65]}, )
df1.set_index(['ind1', 'ind2'], inplace=True)
df2 = pd.DataFrame({'ColA': ['key1', 'else', 'else', 'key3']})
print (df1.groupby(df1.index.levels[1] in df2.get_values()).mean())
提前感谢您的任何提示!
【问题讨论】:
标签: python pandas where-clause multiple-tables multi-level