【发布时间】:2017-02-11 12:35:28
【问题描述】:
假设我将我的数据分组
df.groupby(['a','b','c'])
有没有办法为a 中的每个组提供get_group,以及b 和c 的特定值?
【问题讨论】:
标签: pandas
假设我将我的数据分组
df.groupby(['a','b','c'])
有没有办法为a 中的每个组提供get_group,以及b 和c 的特定值?
【问题讨论】:
标签: pandas
[name for name,group in df.groupby(['a', 'b', 'c'])]
【讨论】:
您认为在自定义函数中选择列a 和b?
df = pd.DataFrame({'a':[1,2,3],
'b':[4,5,6],
'c':[7,8,9],
'D':[1,3,5],
'E':[5,3,6]})
print (df)
D E a b c
0 1 5 1 4 7
1 3 3 2 5 8
2 5 6 3 6 9
def f(x):
# print (x)
print (x[['a','b']])
return x[['a','b']]
print (df.groupby(['a','b','c']).apply(f))
a b
0 1 4
a b
0 1 4
a b
1 2 5
a b
2 3 6
a b
a b
0 1 4
1 2 5
2 3 6
或者你可能需要filter:
print (df.groupby(['a','b','c']).filter(lambda x: (x.b == 4) & (x.c == 7)))
D E a b c
0 1 5 1 4 7
【讨论】: