gpt4 book ai didi

python - 用于具有预定义列表的多列的 pandas get_dummies()

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

我正在努力为我的数据框创建虚拟列。

这是我的原始数据框:

df = pd.DataFrame({'id': ['01', '02', '03'],
'Q1': ['a', 'b', 'a'],
'Q2': ['c', 'b', 'a']})
print(df)

id Q1 Q2
0 01 a c
1 02 b b
2 03 a a

我有 Q1 和 Q2 的预定义答案列表:

ls = list("abc")
print(ls)
['a', 'b', 'c']

我预期的数据框结构:

   id Q1_a Q1_b Q1_c Q2_a Q2_b Q2_c
0 01 1 0 0 0 0 1
1 02 0 1 0 0 1 0
2 03 1 0 0 1 0 0

求助!谢谢!

最佳答案

基于帖子here ,这是一个答案:

df2 = pd.get_dummies(df[['Q1', 'Q2']].astype(pd.CategoricalDtype(categories=ls)))
df2.insert(0, 'id', df['id'])

输出:

df2
id Q1_a Q1_b Q1_c Q2_a Q2_b Q2_c
0 01 1 0 0 0 0 1
1 02 0 1 0 0 1 0
2 03 1 0 0 1 0 0

关于python - 用于具有预定义列表的多列的 pandas get_dummies(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67644629/

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