如何在Python中按条件分组生成起始为1的迭代编号
按分组生成起始值为1的Status累加列
需求说明
现有包含Product和Status列的表格,需生成第三列Values,满足以下要求:
Values为Status列的累加值,但起始值为1而非0;- 按
Product列分组执行该累加操作。
SAS实现代码
if first.product then do; values = 1; end; if status = 1 then do; values = values + 1; end;
Python测试数据生成代码
import pandas as pd df = pd.DataFrame({ 'Product': ['a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b'], 'Status': [0, 1, 1, 0, 1, 1, 1, 1, 1], }).set_index('Product')
预期输出
expected_output = pd.DataFrame({ 'Product': ['a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b'], 'Status': [0, 1, 1, 0, 1, 1, 1, 1, 1], 'Values': [1, 2, 3, 1, 2, 3, 4, 5, 6] }).set_index('Product')
内容的提问来源于stack exchange,提问作者user20933477
相关产品推荐
相关产品推荐

