gpt4 book ai didi

python - 具有多列的 Pandas 中的数据透视表

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:27 25 4
gpt4 key购买 nike

我在 Pandas 中有以下数据框

  date        prod    hourly_bucket      tank      trans      flag     
01-01-2019 TP 05:00:00-06:00:00 2 Preset Peak
01-01-2019 TP 05:00:00-06:00:00 2 Preset Peak
01-01-2019 TP 05:00:00-06:00:00 2 Non Preset Peak
02-01-2019 TP 05:00:00-06:00:00 2 Preset Lean
02-01-2019 TP 05:00:00-06:00:00 2 Preset Lean
02-01-2019 TP 05:00:00-06:00:00 2 Non Preset Lean

我想要的数据框将在日级别和 jar 级别进行聚合,然后计算精益和高峰小时内有多少Preset,Non-Preset交易

  date       tank   Lean_Non_Preset  Lean_Preset  Peak_Non_Preset  Peak_Preset
01-01-2019 2 1 2 1 2

我正在用 pandas 跟随

 lean_peak_preset_cnt = df.pivot_table(index=['date','tank'], columns=['flag'],values=['trans'],aggfunc='count').reset_index()  

但它没有给我所需的解决方案

最佳答案

'trans' 添加到参数columns,然后使用map 将列中的MultiIndex 展平加入:

lean_peak_preset_cnt = df.pivot_table(index=['date','tank'], 
columns=['flag','trans'],
aggfunc='size',
fill_value=0)

lean_peak_preset_cnt.columns = lean_peak_preset_cnt.columns.map('_'.join)
lean_peak_preset_cnt = lean_peak_preset_cnt.reset_index()
print (lean_peak_preset_cnt)

date tank Lean_No Preset Lean_Preset Peak_Non Preset Peak_Preset
0 01-01-2019 2 0 0 1 2
1 02-01-2019 2 1 2 0 0

关于python - 具有多列的 Pandas 中的数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54143048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com