我需要将一列添加到包含按其他三列分组的行数的数据框中。手头的桌子长这个样子 Index Col0 Col1 Col2 Col3 01 a1 '1' '2' '1' 02 a2 '1' '2' '2' 02 a3 '1' '2' '2' 04 a4 '1' '2' '2' 05 a5 '1' '2' '2' 06 a6 '2' '2' '2'我需要按 Col1、Col2 和 Col3 分组,然后计数。所需的结果应如下所示:Index Col0 Col1 Col2 Col3 Col4 01 a1 '1' '2' '1' 1 02 a2 '1' '2' '2' 4 02 a3 '1' '2' '2' 4 04 a4 '1' '2' '2' 4 05 a5 '1' '2' '2' 4 06 a6 '2' '2' '2' 1谢谢大家。
1 回答
三国纷争
TA贡献1804条经验 获得超7个赞
用:
df['col4']=df.groupby(['Col1','Col2','Col3']).transform('count').values[:,0]
我认为你在你想要的输出中有一个错字,如果你想要逻辑,它必须是:
Index Col0 Col1 Col2 Col3 col4
0 1 a1 1 2 1 1
1 2 a2 1 2 2 4
2 2 a3 1 2 2 4
3 4 a4 1 2 2 4
4 5 a5 1 2 2 4
5 6 a6 2 2 2 1
添加回答
举报
0/150
提交
取消