遇上不会的pandas问题了,特来求助!
本帖最后由 13832811375 于 2020-11-26 15:56 编辑我在学pandas,遇到个问题:
有这样一个表,“商品ID”列有多项重复,我想用groupby("商品ID")分组后,再根据分组结果对“新库存”的值求和,但其它列不变化。应该怎么操作?
我从网上查了下,“df.groupby('商品ID')['新库存'].sum()”只能得到一列值,而“df.groupby('商品ID').sum()”则得到的是所有可以求和的列的值,但是我需要其它列的值不进行求和。
这个要怎么搞?
商品id的属性改成文本呢? 商品名称和入库时间这些文本必须相同才能合并吧,如果冲突了的话请问楼主准备怎么取舍呢?名称可以录入时断言,入库时间可以用最新日期覆盖,如果实现起来可能会很麻烦,还不如将就用着,以后有时间了全部重写一个。 沉默之剑 发表于 2020-11-26 11:28
商品名称和入库时间这些文本必须相同才能合并吧,如果冲突了的话请问楼主准备怎么取舍呢?名称可以录入时断 ...
这也是我一直搞不明白的地方:如果只把“新库存”列的值按“商品ID”用groupby聚合以后,那其它各列的数值要如何取舍,要怎么操作? xuanmuluck 发表于 2020-11-26 10:29
商品id的属性改成文本呢?
好像没啥影响, 本帖最后由 rsnodame 于 2020-11-30 14:32 编辑
{:301_975:} 楼主你其实没有把自己的需求整理清楚。根据你的描述和图片,我觉得你是想计算每一次新增库存后,对应商品的累积量吧?
先按商品ID分组,然后按入库时间升序,对['入库数量']进行累计求和(.cumsum()方法),保存为['新库存']列
页:
[1]