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()函数。这两种方法比较简单易用,而且计算速度也比较快,对于数据分析和预处理非常方便。在使用的时候,我们可以根据实际的需求自行选择合适的方法。