gpt4 book ai didi

python - pandas 数据透视表,其中列包含具有多个类别的字符串

转载 作者:行者123 更新时间:2023-12-03 20:01:40 25 4
gpt4 key购买 nike

我有以下形式的数据:

'cat'     'value'
a 1
a,b 2
a,b,c 3
b,c 2
b 1
我想使用数据透视表进行转换:
'a'  'b'  'c'
1
2 2
3 3 3
2 2
1
我如何执行此操作。如果我使用 pivot 命令:
df.pivot(columns= 'cat', values = 'value')
这产生了这个结果
'a' 'a,b' 'a,b,c' 'b,c' 'b' 
1
2
3
2
1

最佳答案

您可以使用 .explode()将字符串转换为列表后,然后正常旋转它:

df['cat'] = df['cat'].str.split(',')
df = df.explode('cat').pivot_table(index=df.explode('cat').index,columns='cat',values='value')
这输出:
cat a   b   c
0 1.0 NaN NaN
1 2.0 2.0 NaN
2 3.0 3.0 3.0
3 NaN 2.0 2.0
4 NaN 1.0 NaN
如果您不希望索引被命名为 cat,您可以重置或重命名索引。 .

关于python - pandas 数据透视表,其中列包含具有多个类别的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65941783/

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