Pandas 如何将浮点数转换为整数

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()函数。在实际应用中,我们可以根据自己的需要选择一种方法,以便将数据转换为模型所需的格式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程