gpt4 book ai didi

python - Pandas:为列的每个实例创建具有二进制值的数据框

转载 作者:行者123 更新时间:2023-12-04 17:16:07 25 4
gpt4 key购买 nike

我目前有一个看起来像这样的 DataFrame

user    | preference
----------------
Alex | tea
Alex | cookie
Alex | apple
Peter | coffee
Peter | apple
Peter | banana
John | tea
我需要将上面的转换为一个 DF,它将用户映射到首选项列的所有唯一值。如果用户有那个偏好,如果不是 0,我们将分配 1。所以,结果应该是这样的
user     | preference | value 
-------------------------
Alex | tea | 1
Alex | coffee | 0
Alex | cookie | 1
Alex | apple | 1
Alex | banana | 0
Peter | tea | 0
Peter | coffee | 1
Peter | cookie | 0
Peter | apple | 1
Peter | banana | 1
John | tea | 1
John | coffee | 0
John | cookie | 0
John | apple | 0
John | banana | 0

最佳答案

尝试:

x = (
pd.crosstab(df["user"], df["preference"])
.stack()
.reset_index()
.rename(columns={0: "value"})
)
print(x)
打印:
    user preference  value
0 1 apple 1
1 1 banana 0
2 1 coffee 0
3 1 cookie 1
4 1 tea 1
5 2 apple 1
6 2 banana 1
7 2 coffee 1
8 2 cookie 0
9 2 tea 0
10 3 apple 0
11 3 banana 0
12 3 coffee 0
13 3 cookie 0
14 3 tea 1

关于python - Pandas:为列的每个实例创建具有二进制值的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68688005/

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