如何在Pandas DataFrame中把字符串转换成浮点数

  • Post category:Python

在Pandas DataFrame中把字符串转换成浮点数的过程相对简单,步骤如下:

  1. 选择要转换的列或者所有列
  2. 使用pd.to_numeric()方法将字符串转换成浮点数
  3. 处理转换错误或者缺失值

下面是一个简单的示例:

import pandas as pd

# 构造一个DataFrame
df = pd.DataFrame({'A': ['1.1', '2.2', '3.3'],
                   'B': ['4.4', '5.5', '6.6']})

# 将列A和列B转换成浮点数,如果出现错误则设置为NaN
df[['A', 'B']] = df[['A', 'B']].apply(pd.to_numeric, errors='coerce')

print(df)

输出结果:

     A    B
0  1.1  4.4
1  2.2  5.5
2  3.3  6.6

在上面的代码中,我们:

  • 创建了一个DataFrame df,其中列A和列B都是字符串类型的数字
  • 使用pd.to_numeric()方法将列A和列B转换成浮点数,并将结果重新赋值给df
  • 使用参数errors='coerce'设置转换错误时将其转换成NaN

如果您想要转换整个DataFrame中的所有字符串,可以将上面的代码修改为:

df = df.apply(pd.to_numeric, errors='coerce')

这样就可以将整个DataFrame中的所有字符串都转换成浮点数了。