gpt4 book ai didi

python - python 中每行具有多个分类值的一种热编码

转载 作者:行者123 更新时间:2023-11-30 21:59:47 25 4
gpt4 key购买 nike

我想在 python 3 中对分类特征实现一种热编码。我注意到很少有 id 具有多个分类值。

我的 table :

id  type
13 A
13 B
2 A
34 C
34 A
34 B

我的愿望输出:

id  type@A  type@B  type@C
13 1 1 0
2 1 0 0
34 1 1 1

我能做什么?

最佳答案

如果您可以使用 pandas,请将数据存储在数据帧中(例如名称 df)并使用:

pd.crosstab(df['id'],df['type']).rename_axis(None,axis=1)

示例如下:

import pandas as pd
d={'id': {0: 13, 1: 13, 2: 2, 3: 34, 4: 34, 5: 34},
'type': {0: 'A', 1: 'B', 2: 'A', 3: 'C', 4: 'A', 5: 'B'}}
df=pd.DataFrame(d)
print(df)

id type
0 13 A
1 13 B
2 2 A
3 34 C
4 34 A
5 34 B

使用pd.crosstab()

df_new = pd.crosstab(df['id'],df['type']).rename_axis(None,axis=1).add_prefix('type@')
print(df_new)

type@A type@B type@C
id
2 1 0 0
13 1 1 0
34 1 1 1

关于python - python 中每行具有多个分类值的一种热编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54502307/

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