在Pandas数据框架中把浮点数转换成整数
让我们看看如何在Pandas DataFrame中把浮点数转换成整数。我们将使用astype()方法来做这个。它也可以用apply()方法来完成。
方法1:使用DataFrame.astype()方法
首先,我们将创建一个DataFrame。
# importing the library
import pandas as pd
# creating a DataFrame
list = [['Anton Yelchin', 36, 75.2, 54280.20],
['Yul Brynner', 38, 74.32, 34280.30],
['Lev Gorn', 31, 70.56, 84280.50],
['Alexander Godunov', 34, 80.30, 44280.80],
['Oleg Taktarov', 40, 100.03, 45280.30],
['Dmitriy Pevtsov', 33, 72.99, 70280.25],
['Alexander Petrov', 42, 85.84, 25280.75]]
df = pd.DataFrame(list, columns =['Name', 'Age', 'Weight', 'Salary'])
display(df)
输出 :
示例1 : 使用DataFrame.astype()将**列从浮点数转换为int。
# displaying the datatypes
display(df.dtypes)
# converting 'Weight' from float to int
df['Weight'] = df['Weight'].astype(int)
# displaying the datatypes
display(df.dtypes)
输出 :
示例2:使用DataFrame.astype()将多个列从浮点数转换为int。
# displaying the datatypes
display(df.dtypes)
# converting 'Weight' and 'Salary' from float to int
df = df.astype({"Weight":'int', "Salary":'int'})
# displaying the datatypes
display(df.dtypes)
输出 :
方法2:使用DataFrame.apply()方法
首先,我们将创建一个DataFrame。
# importing the module
import pandas as pd
# creating a DataFrame
list = [[15, 2.5, 100.22], [20, 4.5, 50.21],
[25, 5.2, 80.55], [45, 5.8, 48.86],
[40, 6.3, 70.99], [41, 6.4, 90.25],
[51, 2.3, 111.90]]
df = pd.DataFrame(list, columns = ['Field_1', 'Field_2', 'Field_3'],
index = ['a', 'b', 'c', 'd', 'e', 'f', 'g'])
display(df)
输出 :
示例1:使用DataFrame.apply(np.int64)将一个**列从浮点数转换为int。
# importing the module
import numpy as np
# displaying the datatypes
display(df.dtypes)
# converting 'Field_2' from float to int
df['Field_2'] = df['Field_2'].apply(np.int64)
# displaying the datatypes
display(df.dtypes)
输出 :
示例2:使用DataFrame.apply(np.int64)将多列从浮点数转换为英数。
# displaying the datatypes
display(df.dtypes)
# converting 'Field_2' and 'Field_3' from float to int
df['Field_2'] = df['Field_2'].apply(np.int64)
df['Field_3'] = df['Field_3'].apply(np.int64)
# displaying the datatypes
display(df.dtypes)
输出 :