当我在pandas
列中创建带有两个可能值的DataFrame
b
时,然后按所述列将df
分组,并向其apply
一个函数,为什么该功能似乎可以运行3次?
>>> x = pd.DataFrame({'a':[1,2,3,4],'b':[1,2,1,2]})
>>> x
a b
0 1 1
1 2 2
2 3 1
3 4 2
>>> g = x.groupby('b')
>>> g.groups
{1: Int64Index([0, 2], dtype='int64'), 2: Int64Index([1, 3], dtype='int64')}
>>> def myFunc(x):
... print 'group:'
... print x
...
>>> g.apply(myFunc)
group:
a b
0 1 1
2 3 1
group:
a b
0 1 1
2 3 1
group:
a b
1 2 2
3 4 2
Empty DataFrame
Columns: []
Index: []
具体来说,似乎第一组对该函数应用了两次功能