如何在 pandas 中将对象转换为浮点数(附示例)


您可以使用以下方法之一将 pandas DataFrame 的列从对象转换为浮点:

方法一:使用astype()

 df[' column_name '] = df[' column_name ']. astype (float)

方法 2:使用 to_numeric()

 df[' column_name '] = pd. to_numeric (df[' column_name '])

两种方法产生相同的结果。

以下示例展示了如何将每种方法与以下 pandas DataFrame 一起使用:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': ['18', '22.2', '19.1', '14', '14', '11.5', '20', '28'],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22.2 7
2 C 19.1 7
3 D 14 9
4 E 14 12
5 F 11.5 9
6 G 20 9
7:28 a.m. 4

#check data type of each column
print ( df.dtypes )

team object
points object
assists int64
dtype:object

方法一:使用astype()将对象转换为float

以下代码展示了如何使用astype()函数将对象的 DataFrame 的点列转换为浮点数:

 #convert points column from object to float
df[' points '] = df[' points ']. astype (float)

#view updated DataFrame
print (df)

  team points assists
0 A 18.0 5
1 B 22.2 7
2 C 19.1 7
3D 14.0 9
4 E 14.0 12
5 F 11.5 9
6G 20.0 9
7 A.M. 28.0 4

#view updated data types
print ( df.dtypes )

team object
float64 points
assists int64
dtype:object

请注意,点列现在具有float64数据类型。

方法 2:使用 to_numeric() 将对象转换为浮点数

以下代码展示了如何使用to_numeric()函数将对象的 DataFrame 的点列转换为浮点数:

 #convert points column from object to float
df[' points '] = pd. to_numeric (df[' points '], errors=' coerce ')

#view updated DataFrame
print (df)

  team points assists
0 A 18.0 5
1 B 22.2 7
2 C 19.1 7
3D 14.0 9
4 E 14.0 12
5 F 11.5 9
6G 20.0 9
7 A.M. 28.0 4

#view updated data types
print ( df.dtypes )

team object
float64 points
assists int64
dtype:object

请注意,点列现在具有float64数据类型。

另请注意,此方法产生的结果与之前的方法完全相同。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何在 Pandas 中将布尔值转换为整数值
如何将 Pandas 中的日期时间转换为字符串
如何在 Pandas 中将列转换为整数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注