如何使用pandas创建一个基于条件求和的新行
初始表格-
Product Date CAT Value
Product A Apr F31 100
Product A Apr F32 200
Product A Apr F45 300
Product A Apr F46 400
Product A May F31 200
Product A May F32 300
Product A May F45 400
Product A May F46 500
Product B Apr F31 200
Product B Apr F32 300
Product B Apr F45 400
Product B Apr F46 500
Product B May F31 600
Product B May F32 700
Product B May F45 800
Product B May F46 900
我想通过将F31和F32组合成F3来创建它,它应该给我值的总和
Product Date CAT Value
Product A Apr F3 300
Product A Apr F45 300
Product A Apr F46 400
Product A May F3 500
Product A May F45 400
Product A May F46 500
Product B Apr F3 500
Product B Apr F45 400
Product B Apr F46 500
Product B May F3 1300
Product B May F45 800
Product B May F46 900
你能帮帮我吗
首先让我们做一个目标正则表达式替换,只替换后面的数字
CAT A
因此{}>
CAT A
然后按顺序分组
如果希望返回数据帧,请添加
.reset_index()
为了创建上面提到的数据帧,我们需要应用两个操作
字符串。替换
.groupby加总,即.sum()和.reset\u index()
字符串替换方法用于替换字符串中的字符,通过该方法可以将字符串即F31、F32转换为F3
.替换('F31','F3')
.替换('F32','F3')
.groupby方法用于根据给定的约束分离数据。此方法将数据分为可执行操作的块。这里,我们需要根据多列对数据进行分组
然后,我们需要根据'CAT'列聚合值之和列,即首先按“产品”分组,然后按“日期”分组,然后按“CAT”分组。因此,我们使用.sum()
这之后的结果将是一个分组对象,但要将其转换为数据帧,我们需要使用.reset_index(),此方法允许根据输入条件列使用相应的值填充列
代码片段如下所示:
应用上述操作前的数据
应用上述操作后的数据
相关问题 更多 >
编程相关推荐