将函数应用于pandas groupby对象会导致函数运行更多时间,因此存在分组

时间:2019-03-08 17:22:02

标签: python pandas

当我在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: []

具体来说,似乎第一组对该函数应用了两次功能

0 个答案:

没有答案