python分组聚合显示全部列_python – Pandas groupby和聚合输出应包括所有原始列(包括未聚合的列)...

该博客讲述了在使用Pandas对数据帧进行分组聚合时如何保留所有原始列,包括未聚合的列。通过创建月份列并按'UPC_ID'对'QTY_SOLD'求和,作者遇到了丢失其他列的问题。期望的输出是包含'MONTH', 'UPC_ID', 'QTY_SOLD', 'NET_AMT'和'UPC_DSC'的所有行。解决方案在于使用agg()函数对多个列进行聚合,同时保持未聚合列不变。" 139463175,10282337,华为OD机试题解:恢复数字序列,"['华为od', '编程语言', '算法', '数据结构']
摘要由CSDN通过智能技术生成

我有以下数据框架,并希望:

>按月分组记录

>每个唯一UPC_ID的Sum QTY_SOLD和NET_AMT(每月)

>在结果数据框中包括其余列

我认为我可以做到这一点的方式是第一:创建一个月份列来聚合D_DATES,然后通过UPC_ID对QTY_SOLD求和.

脚本:

# Convert date to date time object

df['D_DATE'] = pd.to_datetime(df['D_DATE'])

# Create aggregated months column

df['month'] = df['D_DATE'].apply(dt.date.strftime, args=('%Y.%m',))

# Group by month and sum up quantity sold by UPC_ID

df = df.groupby(['month', 'UPC_ID'])['QTY_SOLD'].sum()

当前数据框:

UPC_ID | UPC_DSC | D_DATE | QTY_SOLD | NET_AMT

----------------------------------------------

111 desc1 2/26/2017 2 10 (2 x $5)

222 desc2 2/26/2017 3 15

333 desc3 2/26/2017 1 4

111 desc1 3/1/2017 1 5

111 desc1 3/3/2017 4 20

期望的输出:

MONTH | UPC_ID | QTY_SOLD | NET_AMT | UPC_DSC

----------------------------------------------

2017-2 111 2 10 etc...

2017-2 222 3 15

2017-2 333 1 4

2017-3 111 5 25

实际产量:

MONTH | UPC_ID

----------------------------------------------

2017-2 111 2

222 3

333 1

2017-3 111 5

...

问题:

>如何包含每行的月份?

>如何包含数据框的其余列?

>除了QTY_SOLD之外,如何总结NET_AMT?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值