如何将包含字符串值的pandas数据帧的列转换为int / float?

时间:2015-11-25 17:38:53

标签: python pandas svm

我有一个pandas数据框,其中包含一个非数字值的列。我将如何将它们转换为int / float值。

当量:

Col1       Col2

Lip_GD      267

Gly_hy_68   467

Hint_2      628

Jac+Jac     339

Lip_GD      234

Jac+Jac     267

当我将这些数据读入pandas数据帧时,如何将第1列转换为int?

2 个答案:

答案 0 :(得分:4)

创建_thread中每个唯一值到索引值的映射:

Col1

然后创建一个新列,将mapping = {k: v for v, k in enumerate(df.Col1.unique())} >>> mapping {'Gly_hy_68': 1, 'Hint_2': 2, 'Jac+Jac': 3, 'Lip_GD': 0} 中的值映射回其唯一标识符。

Col1

答案 1 :(得分:0)

使用Sklearn

有一种方法可以使用sklearn使用LabelEncoder来完成此操作。

from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit(df['Col1'])
df['Col3'] = le.transform(df['Col3'])