小编NC *_*Jim的帖子

Python pandas groupby对象apply方法重复第一组

我的第一个问题:我对pandas(0.12.0-4)中groupby的apply方法的这种行为感到困惑,它似乎将函数TWICE应用于数据帧的第一行.例如:

>>> from pandas import Series, DataFrame
>>> import pandas as pd
>>> df = pd.DataFrame({'class': ['A', 'B', 'C'], 'count':[1,0,2]})
>>> print(df)
   class  count  
0     A      1  
1     B      0    
2     C      2
Run Code Online (Sandbox Code Playgroud)

我首先检查groupby函数是否正常,看起来没问题:

>>> for group in df.groupby('class', group_keys = True):
>>>     print(group)
('A',   class  count
0     A      1)
('B',   class  count
1     B      0)
('C',   class  count
2     C      2)
Run Code Online (Sandbox Code Playgroud)

然后我尝试在groupby对象上使用apply做类似的事情,我得到第一行输出两次:

>>> def checkit(group):
>>>     print(group)
>>> df.groupby('class', group_keys = True).apply(checkit)
  class  count
0     A      1
  class  count …
Run Code Online (Sandbox Code Playgroud)

python group-by pandas pandas-groupby

37
推荐指数
2
解决办法
8021
查看次数

标签 统计

group-by ×1

pandas ×1

pandas-groupby ×1

python ×1