如何在Pandas中把浮点数转换成整数(附实例)

1,129 阅读1分钟

你可以使用下面的语法将pandas DataFrame中的一列从浮点数转换为整数。

df['float_column'] = df['float_column'].astype(int)

下面的例子展示了如何在实践中使用这种语法。

例1:将一列从浮点数转换为整数

假设我们有下面这个pandas DataFrame。

import pandas as pd

#create DataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                   'points': [25.2, 27.0, 14.5, 17.6, 20.7],
                   'assists': [5.1, 7.7, 10.3, 8.6, 9.5]})

#view data types for each column
df.dtypes

player      object
points     float64
assists    float64
dtype: object

我们可以看到,助攻列的数据类型都是浮点数。

下面的代码显示了如何将点数列从浮点数转换为整数。

#convert 'points' column to integer
df['points'] = df['points'].astype(int)

#view data types of each column
df.dtypes

player      object
points       int32
assists    float64
dtype: object

我们可以看到,点数列现在是一个整数,而所有其他列都没有变化。

例2:将多列转换为整数

下面的代码显示了如何将DataFrame中的多列从浮点数转换成整数。

import pandas as pd

#create DataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                   'points': [25.2, 27.0, 14.5, 17.6, 20.7],
                   'assists': [5.1, 7.7, 10.3, 8.6, 9.5]})

#convert 'points' and 'assists' columns to integer
df[['points', 'assists']] = df[['points', 'assists']].astype(int)

#view data types for each column
df.dtypes

player     object
points      int32
assists     int32
dtype: object

我们可以看到,助攻列都已经从浮点数转换为整数。

其他资源

下面的教程解释了如何在Python中进行其他常见的转换:

如何将Pandas DataFrame列转换为字符串
如何在Pandas中把时间戳转换为数据时间
如何在Pandas中把数据时间转换为日期