当我使用groupby()。apply()函数来计算一些数据(如加权平均值)时。我发现第一组总是被计算两次。例如:
def test(dataframe):
df = dataframe.copy()
a = df['a'].iloc[0]
b = df['b'].mean()
result.append([a,b])
df = pd.DataFrame({'a':[1,1,1,2,2,2,2,3,3,3],'b':[1,2,3,4,5,6,7,8,9,10]})
df.groupby('a').apply(test)
result = pd.DataFrame(result, columns=['a', 'b'])
如您所见,第一组计算两次。我不知道为什么。