Skip to main content
 首页 » 编程设计

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

2025年05月04日47虾米姐

我有一个 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?

请您参考如下方法:

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

df['Col3'] = df.Col1.map(mapping) 
>>> df 
        Col1  Col2  Col3 
0     Lip_GD   267     0 
1  Gly_hy_68   467     1 
2     Hint_2   628     2 
3    Jac+Jac   339     3 
4     Lip_GD   234     0 
5    Jac+Jac   267     3