我使用groupby并在我的程序中大量应用。但是,我遇到了一个我无法真正理解的错误:我的申请两次遍历所有pandas-groupby组。
我能够提供该问题的最低限度的工作示例:
import pandas as pd
a=pd.DataFrame({"id":[1,1,1,2,2,2,3,3,3],"value1":[1,2,3,4,5,6,7,8,9],"value2":[9,8,7,6,5,4,3,2,1]})
a.groupby("id").apply(lambda x: print(x.name))
这会产生错误,因为代码似乎会生成另一个组。当命令
a.groupby("id")["value1"].apply(lambda x: print(x.name))
运行正常,命令
a.groupby("id")[["value1","value2"]].apply(lambda x: print(x.name))
没有。我很迷惑。看来这不是“第一批两次”的问题。
有人可以向我解释这里发生了什么吗?