Python pandas.groubpy.apply执行的次数太多?
我试图了解如何在Pandas中使用groupby().apply()函数,因此我制作了一个简单的虚拟程序,用于打印每个组的分组数据帧:Python pandas.groubpy.apply执行的次数太多?,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我试图了解如何在Pandas中使用groupby().apply()函数,因此我制作了一个简单的虚拟程序,用于打印每个组的分组数据帧: import pandas as pd def dummy(df): print(df) return df df_original = pd.DataFrame({'A': ['a,a,a,a','b,b,b','c','d,d,d', 'e'], 'B': [0, 0, 1, 1, 2]}) print(df_original) df2 =
import pandas as pd
def dummy(df):
print(df)
return df
df_original = pd.DataFrame({'A': ['a,a,a,a','b,b,b','c','d,d,d', 'e'], 'B': [0, 0, 1, 1, 2]})
print(df_original)
df2 = df_original.groupby('B').apply(dummy)
然而,我得到的输出显示第一个组被打印了两次,就好像apply函数在它上面迭代了两次:
# original dataframe
A B
0 a,a,a,a 0
1 b,b,b 0
2 c 1
3 d,d,d 1
4 e 2
# output of dummy()
A B
0 a,a,a,a 0
1 b,b,b 0
A B
0 a,a,a,a 0
1 b,b,b 0
A B
2 c 1
3 d,d,d 1
A B
4 e 2
我不明白这么简单的事情哪里会出问题你可以从@Gwendal的建议中读到哪里出了问题 如果您想要快速修复,请使用此选项
df_original = pd.DataFrame({'A': ['a,a,a,a','b,b,b','c','d,d,d', 'e'], 'B': [0, 0, 1, 1, 2]})
for _ in df_original['B'].unique():
print(df_original[df_original['B']==_])
输出
A B
0 a,a,a,a 0
1 b,b,b 0
A B
2 c 1
3 d,d,d 1
A B
4 e 2
谢谢-标记为重复