假设我将数据分组为
df.groupby(['a','b','c'])
get_group
中的每个群组都有a
,b
和c
的特定值是否有办法?
答案 0 :(得分:0)
您认为在自定义函数中选择列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
答案 1 :(得分:0)
[name for name,group in df.groupby(['a', 'b', 'c'])]