Python – Pandas DataFrame中将列值保留小数点后几位的方法

Python – Pandas DataFrame中将列值保留小数点后几位的方法

在Pandas数据处理中,我们经常需要对数据进行处理和格式化,其中就包括将列值保留小数点后几位。本文将介绍Pandas DataFrame中如何将列值保留小数点后几位的方法。

准备工作

在开始讲普通的保留小数点方法之前,我们需要先明确我们今天使用到的动作对象Pandas DataFrame该如何建立。在下面的代码中,我们通过先设置数据和列标签,再用pandas.DataFrame函数将数据和列标签放进去,最后用print输出我们建立完成的DataFrame。

import pandas as pd

# 构造数据和列标签
data = [[1,1.23456],[2,4.56789],[3,9.87654]]
columns = ['ID','Value']

# 将数据和标签构成DataFrame
df = pd.DataFrame(data=data, columns=columns)

# 输出DataFrame
print(df)

代码输出如下:

   ID    Value
0   1  1.23456
1   2  4.56789
2   3  9.87654

从以上输出发现,我们构造的DataFrame包含两列,一列是ID,另一列是值Value。

保留小数点的方法

接下来我们将介绍两种常见的方法,用以将 DataFrame 中指定列的值保留小数点后几位。

方法一:使用 round() 函数

在Pandas中使用 round() 函数可以将数字保留小数点后指定的位数,下面是将DataFrame中Value列的值保留两位小数的示例代码:

# 保留小数点后2位
df['Value'] = df['Value'].round(2)

# 输出处理后的结果
print(df)

代码输出如下:

   ID   Value
0   1    1.23
1   2    4.57
2   3    9.88

从以上输出发现,df[‘Value’].round(2)方法可以将Value列的值保留两位小数。

方法二:使用 apply() 函数

我们也可以使用 apply() 函数,并在内部声明一个lambda表达式,用以保留小数点后指定的位数,下面是将DataFrame中Value列的值保留三位小数的示例代码:

# 使用 apply() 函数并在内部使用 lambda 表达式进行保留小数点处理
df['Value'] = df['Value'].apply(lambda x: round(x, 3))

# 输出处理后的结果
print(df)

代码输出如下:

   ID   Value
0   1   1.235
1   2   4.568
2   3   9.877

从以上输出发现, apply() 函数结合 lambda 表达式也可以实现将Value列的值保留三位小数。

结论

本文介绍了Pandas DataFrame中将列值保留小数点几位的两种常见方法,即使用round()函数和apply()函数。这两种方法比较简单易用,而且计算速度也比较快,对于数据分析和预处理非常方便。在使用的时候,我们可以根据实际的需求自行选择合适的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程