我有一个关于计算数据框中重复行的问题。例如我有以下数据框。
df1 =
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
6 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
8 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
9 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
有没有办法计算重复项并给我以下数据框?
df1_duplicates =
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Count
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4
2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2
我尝试使用以下代码,
df_duplicates = df1.groupby(df1.columns.tolist()).size().rename(columns={0:'count'})
它确实给了我计数,但输出数据帧变成了单列数据帧,如下所示。
df_I_dont_want_this =
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2
最佳答案
这就是你想要的
df.groupby(df.columns.tolist()).size().to_frame('count').reset_index()
Out[28]:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 count
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4
2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2
关于pandas - 如何计算具有多列整数的数据帧中行的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56159843/