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

2024-09-26 22:44:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas dataframe,它包含一个非数值的列。如何将它们转换为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?在


Tags: 数据dataframepandasfloatcol2col1int数值
2条回答

使用Sklearn

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

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

创建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中的值映射回它们的唯一标识符。在

^{pr2}$

相关问题 更多 >

    热门问题