你可以使用下面的语法将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中把数据时间转换为日期