gpt4 book ai didi

python - 如何使用 numpy 对数据进行 one-hot 编码?

转载 作者:行者123 更新时间:2023-11-30 22:26:12 25 4
gpt4 key购买 nike

假设我有一个数据集

sex    age hours
female 23 900
male 19 304
female 42 222
...

如果我使用 np.loadtxt 或 np.genfromtxt,我可以使用转换器为性别列中的每个分类数据分配值。有没有一种方法可以在加载过程中创建一个单热列?如果没有,我应该在哪里寻找来实现这一目标?

最佳答案

使用 pandas,您可以传递类别 dtype(在列中加载的成本较低):

In [11]: df = pd.read_csv("my_file.csv", dtype={"sex": "category"})

In [12]: df
Out[12]:
sex age hours
0 female 23 900
1 male 19 304
2 female 42 222

In [13]: df.dtypes
Out[13]:
sex category
age int64
hours int64
dtype: object
<小时/>

一旦你有了一个类别,你就可以使用get_dummies:

In [21]: pd.get_dummies(df.sex)
Out[21]:
female male
0 1 0
1 0 1
2 1 0

In [22]: pd.get_dummies(df.sex.cat.codes)
Out[22]:
0 1
0 1 0
1 0 1
2 1 0

关于python - 如何使用 numpy 对数据进行 one-hot 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47299652/

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