我在pandas 0.17中拥有以下函数:
df['numberrows'] = df.groupby(['column1','column2','column3'], as_index=False)[['column1']].transform('count').astype('int')
但是我今天升级了pandas,现在出现了以下错误:
更新中有什么变化导致此功能不再起作用?
File "/usr/local/lib/python3.4/dist-packages/pandas/core/internals.py",
line 3810, in insert raise ValueError('cannot insert {}, already exists'.format(item))
ValueError: cannot insert column1, already exists
我想按列分组,并添加一列,其中包含分组的行数。
如果之前所做的不是好的函数,则欢迎另一种在获取已分组行数的情况下进行分组的方法。
编辑:
小数据集:
column1 column2 column3
0 test car1 1
1 test2 car5 2
2 test car1 1
3 test4 car2 1
4 test2 car1 1
结果将是:
column1 column2 column3 numberrows
0 test car1 1 2
1 test2 car5 2 1
3 test4 car2 1 1
4 test2 car1 1 1