假设我有一个数据集

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


如果使用np.loadtxt或np.genfromtxt,则可以使用转换器将值分配给sex列中的每个分类数据。有没有一种方法可以在加载过程中创建一个单柱色谱柱?如果没有,我应该在哪里实现?

最佳答案

使用熊猫,您可以传递类别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一键编码数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47299652/

10-10 23:43