python dataframe行数_python – 如何在DataFrame中增加groupby中的行数

groupby是正确的想法,但正确的方法是cumcount:

>>> product_df['month_num'] = product_df.groupby('product_desc').cumcount()

>>> product_df

product_desc activity_month prod_count pct_ch month_num

0 product_a 2014-01-01 53 NaN 0

3 product_a 2014-02-01 52 -0.018868 1

6 product_a 2014-03-01 50 -0.038462 2

1 product_b 2014-01-01 44 NaN 0

4 product_b 2014-02-01 43 -0.022727 1

7 product_b 2014-03-01 41 -0.046512 2

2 product_c 2014-01-01 36 NaN 0

5 product_c 2014-02-01 35 -0.027778 1

8 product_c 2014-03-01 34 -0.028571 2

如果你真的希望它从1开始,那么就这样做:

>>> product_df['month_num'] = product_df.groupby('product_desc').cumcount() + 1

product_desc activity_month prod_count pct_ch month_num

0 product_a 2014-01-01 53 NaN 1

3 product_a 2014-02-01 52 -0.018868 2

6 product_a 2014-03-01 50 -0.038462 3

1 product_b 2014-01-01 44 NaN 1

4 product_b 2014-02-01 43 -0.022727 2

7 product_b 2014-03-01 41 -0.046512 3

2 product_c 2014-01-01 36 NaN 1

5 product_c 2014-02-01 35 -0.027778 2

8 product_c 2014-03-01 34 -0.028571 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值