Python(pandas)使用count重置索引

2024-05-14 00:37:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧:

  HH     PERSON SPOT    WEIGHT
  1002141   aa   1      1332.25
  1011831   ab   1      2083.31
  1031726   aa   1      2589.09
  1042819   aa   1      4736.28
  1043006   aa   1      1588.39
  1043006   aa   1      1588.39
  1060911   aa   1      1113.97
  1001665   aa   2      3202.09
  1001762   aa   2      2048.54

我要做的是创建一个count列所有重复的事件, 在上面的示例中,第5行和第6行是相同的,所以我希望输出为:

^{pr2}$

我所做的是:

count_table=df.groupby(['HH','PERSON','SPOT ID']).agg(['count']).reset_index() 

它可以工作,但是索引会变得一团糟——它按HH列而不是原始索引对其进行排序。在

有什么办法可以重置表索引吗?在


Tags: 数据示例dfabhhcounttable事件
1条回答
网友
1楼 · 发布于 2024-05-14 00:37:52

您可以为此使用transform来添加一个count列,在这种情况下,它只是组大小:

In [164]:
df['Count'] = df.groupby(['HH','PERSON','SPOT'])['WEIGHT'].transform('size')
df

Out[164]:
        HH PERSON  SPOT   WEIGHT  Count
0  1002141     aa     1  1332.25      1
1  1011831     ab     1  2083.31      1
2  1031726     aa     1  2589.09      1
3  1042819     aa     1  4736.28      1
4  1043006     aa     1  1588.39      2
5  1043006     aa     1  1588.39      2
6  1060911     aa     1  1113.97      1
7  1001665     aa     2  3202.09      1
8  1001762     aa     2  2048.54      1

相关问题 更多 >