gpt4 book ai didi

python - Pandas get_dummies 为同一特征生成多个列

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

我正在使用 pandas 系列并尝试将其转换为一种热门编码。我使用 describe 方法来检查该系列有多少个独特的类别。输出为:

input['pattern'].describe(include='all')

count 9725
unique 7
top 1
freq 4580
Name: pattern, dtype: object

当我尝试时:

    x = pd.get_dummies(input['pattern'])
x.describe(include= 'all')

我得到了 18 个类,其中 12 个类完全为零。为什么 get_dummies 生成的类在输入中一次也没有出现?

最佳答案

根据评论中的讨论,推断您的列包含字符串和整数的混合。

例如,

s = pd.Series(['0', 0, '0', '6', 6, '6', '3', '3'])
s

0 0
1 0
2 0
3 6
4 6
5 6
6 3
7 3
dtype: object

现在,调用 pd.get_dummies 将产生具有相同功能的多个此类列。

pd.get_dummies(s)

0 6 0 3 6
0 0 0 1 0 0
1 1 0 0 0 0
2 0 0 1 0 0
3 0 0 0 0 1
4 0 1 0 0 0
5 0 0 0 0 1
6 0 0 0 1 0
7 0 0 0 1 0

修复方法是确保所有元素都具有相同类型。对于这种情况,我建议转换为 str

s.astype(str).str.get_dummies()


0 3 6
0 1 0 0
1 1 0 0
2 1 0 0
3 0 0 1
4 0 0 1
5 0 0 1
6 0 1 0
7 0 1 0

关于python - Pandas get_dummies 为同一特征生成多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47967584/

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