我有一个熊猫DataFrame:
df = pd.DataFrame({'A':['a', 'a', 'a', 'a', 'a'], 'B':[1, 2, 3, 4, 5]})
和用户定义的函数:
def f(df):
return df.max() - df.min()
当我运行以下代码时:
df.groupby('A').apply(f)
函数f将被调用多少次?我测试了这段代码,发现f被调用了4次,有人可以解释吗?
答案 0 :(得分:0)
它应该被称为ngroup times,如果A中有两个group,它将被两次调用。另外,您可以使用np.ptp
df.groupby('A').B.apply(np.ptp)
Out[52]:
A
a 4
Name: B, dtype: int64