Pandas 如何将浮点数转换为整数
在本文中,我们将介绍如何使用Pandas将浮点数转换为整数。在数据分析和机器学习中,通常需要将原始数据作为整数输入到模型中。但是,有时我们得到的数据可能包含浮点数,这时候我们就需要将其转换为整数。下面我们将介绍两种方法。
阅读更多:Pandas 教程
方法一:使用astype()函数
Pandas中的astype()函数可以用于将一个列或Series中的数据类型转换为指定的类型。如果我们要将一个Series中的浮点数转换为整数,我们可以使用astype()函数。
import pandas as pd
df = pd.DataFrame({'float_col': [1.0, 2.5, 3.7, 4.2, 5.8]})
print(df)
df['int_col'] = df['float_col'].astype(int)
print(df)
以上代码中,我们首先创建了一个包含浮点数的DataFrame。然后我们使用astype()函数将float_col列中的数据类型转换为整数,并将结果存储在新的int_col列中。
输出结果如下:
float_col
0 1.0
1 2.5
2 3.7
3 4.2
4 5.8
float_col int_col
0 1.0 1
1 2.5 2
2 3.7 3
3 4.2 4
4 5.8 5
可以看到,float_col列中的浮点数已成功转换为了整数,并存储在了int_col列中。
方法二:使用round()函数
另一种将浮点数转换为整数的方法是使用Python内置的round()函数。round()函数将浮点数四舍五入为最接近的整数。如果我们将所有小数点后面的数字都舍去,就可以得到整数值。
import pandas as pd
df = pd.DataFrame({'float_col': [1.0, 2.5, 3.7, 4.2, 5.8]})
print(df)
df['int_col'] = df['float_col'].apply(lambda x: round(x))
print(df)
以上代码中,我们首先创建了一个包含浮点数的DataFrame。然后我们使用apply()函数将round()函数应用于float_col列中的每个元素,并将结果存储在新的int_col列中。
输出结果如下:
float_col
0 1.0
1 2.5
2 3.7
3 4.2
4 5.8
float_col int_col
0 1.0 1
1 2.5 2
2 3.7 4
3 4.2 4
4 5.8 6
由于round()函数将浮点数四舍五入到最接近的整数,因此有些数可能会向上舍入,有些则向下。这就导致了我们的结果与方法一中的结果略有不同。
总结
本文介绍了两种将Pandas中的浮点数转换为整数的方法:使用astype()函数和使用round()函数。在实际应用中,我们可以根据自己的需要选择一种方法,以便将数据转换为模型所需的格式。