gpt4 book ai didi

python - 在数据透视表中 - 如何在列中添加维度(除了维度行之外)?

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:16 25 4
gpt4 key购买 nike

我有一个简单的数据集,我希望行中有 2 个维度。还有列中的一个维度。

我有一个常规数据透视表,我想将其中一个维度(周)作为列侧的维度(所有指标之上),因此每个指标都有 2 个指标(成本、安装量)周。

/* 聚合表 */

df2Group = df2.groupby(['os','广告系列 ID','week']).agg({'cost_plus_fee':'sum', 'installs':'sum'})

最佳答案

使用DataFrame.unstack , DataFrame.swaplevel , DataFrame.sort_index 重命名第一级MultiIndex:

df2 = pd.DataFrame({
'os':['andriod'] * 10,
'Campaign ID':[103292] * 5 +[103293] * 5,
'week':[22,23,24] * 3 + [22],
'cost_plus_fee':[1,3,5,7,1,0,4,5,6,3],
'installs':[5,3,6,9,2,4,2,5,8,4]
})
print (df2)
os Campaign ID week cost_plus_fee installs
0 andriod 103292 22 1 5
1 andriod 103292 23 3 3
2 andriod 103292 24 5 6
3 andriod 103292 22 7 9
4 andriod 103292 23 1 2
5 andriod 103293 24 0 4
6 andriod 103293 22 4 2
7 andriod 103293 23 5 5
8 andriod 103293 24 6 8
9 andriod 103293 22 3 4
<小时/>
df2Group = (df2.groupby(['os','Campaign ID','week'])
.agg({'cost_plus_fee':'sum', 'installs':'sum'})
.unstack()
.swaplevel(1,0, axis=1)
.sort_index(axis=1, level=0)
.rename(columns = lambda x: f'week {x}', level=0))
print (df2Group)
week week 22 week 23 \
cost_plus_fee installs cost_plus_fee installs
os Campaign ID
andriod 103292 8 14 4 5
103293 7 6 5 5

week week 24
cost_plus_fee installs
os Campaign ID
andriod 103292 5 6
103293 6 12

关于python - 在数据透视表中 - 如何在列中添加维度(除了维度行之外)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56580453/

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