首页 > 解决方案 > 按组应用算法以填充新数据框

问题描述

我找不到以下行为的解释。

这是一个非常基本的表格

import pandas as pd
t1 = pd.DataFrame({'date': ['d1','d1','d2','d1'],'id1': ['Apple', 'Pear','Pear','Pear']})  

这是我应用于每个组 id1 的简单函数:

def test(x): 
    print('blblb')
    print(x)
t1.groupby('id1').apply(test)

我希望 2 组的功能测试仅被调用 2 次,但我得到以下输出:

blblb
  date    id1
0   d1  Apple
blblb
  date    id1
0   d1  Apple
blblb
  date   id1
1   d1  Pear
2   d2  Pear
3   d1  Pear

有人可以向我解释为什么苹果组导致该函数被调用两次吗?谢谢

标签: pythonpandasgroup-by

解决方案


推荐阅读