这是我的数据:
+--------+----------------+
| class | title |
+--------+----------------+
| ClassA | ClassA Title 1 |
| ClassA | ClassA Title 2 |
| ClassA | ClassA Title 3 |
| ClassB | ClassB Title 1 |
| ClassB | ClassB Title 2 |
| ClassB | ClassB Title 3 |
| ClassC | ClassC Title 1 |
| ClassC | ClassC Title 2 |
| ClassC | ClassC Title 3 |
+--------+----------------+
在class
列上分组时,只有3个组,但是当我运行以下代码时,它会打印4个组 - 第一个组正在重复:
df.groupby(["class"]).apply(lambda group: print(group))
打印:
class title
0 ClassA ClassA Title 1
1 ClassA ClassA Title 2
2 ClassA ClassA Title 3
class title
0 ClassA ClassA Title 1
1 ClassA ClassA Title 2
2 ClassA ClassA Title 3
class title
3 ClassB ClassB Title 1
4 ClassB ClassB Title 2
5 ClassB ClassB Title 3
class title
6 ClassC ClassC Title 1
7 ClassC ClassC Title 2
8 ClassC ClassC Title 3
答案 0 :(得分:4)
请参阅Pandas docs:
备注强>
在当前实现中,在第一列/行上应用调用func两次,以确定它是否可以采用快速或慢速代码路径。如果func有副作用,这可能会导致意外行为,因为它们会对第一列/行生效两次。