📅  最后修改于: 2023-12-03 15:03:30.151000             🧑  作者: Mango
在Python的Pandas库中,数据框是一种非常有用的数据结构,用于处理和分析数据。 在许多情况下,我们需要对数值数据进行四舍五入,并将其保留到一定的小数位数。Pandas库为这个任务提供了很好的解决方案。本文将介绍如何在Pandas数据框中使用舍入函数。
在Pandas中,我们可以使用round()函数来将数据框中所有列的值舍入到指定的小数位数,该函数将返回一个新的数据框。round()函数有两个可选参数,其中一个是小数点后的位数,另一个是用于处理缺失值的方法。默认情况下,小数点后的位数为0,缺失值会被保留为NaN。
下面是一个使用round()函数进行舍入的示例:
import pandas as pd
# 创建数据框
df = pd.DataFrame({
'A': [0.1234, 1.4567, 2.7890],
'B': [10.1234, 11.4567, 12.7890],
'C': [100.1234, 101.4567, 102.7890]
})
# 将数据框中的值舍入到2位小数
df_rounded = df.round(2)
print(df_rounded)
输出结果:
A B C
0 0.12 10.12 100.12
1 1.46 11.46 101.46
2 2.79 12.79 102.79
在这个例子中,我们创建了一个由三列数据组成的数据框,并使用round()函数将所有值舍入到小数点后2位。原始数据框包含4位数的数字,而新数据框中所有的数值都被舍入为2位小数。
当需要只舍入数据框的某些列时,我们可以使用dataframe中的apply()函数和lambda函数来实现。
下面是一个使用lambda函数和apply()函数仅舍入特定列的示例:
import pandas as pd
# 创建数据框
df = pd.DataFrame({
'A': [0.1234, 1.4567, 2.7890],
'B': [10.1234, 11.4567, 12.7890],
'C': [100.1234, 101.4567, 102.7890]
})
# 定义进行舍入的函数
round_func = lambda x: round(x, 2) if isinstance(x, float) else x
# 使用apply()函数和lambda函数将数据框中的某些列舍入
df[['A']] = df[['A']].applymap(round_func)
print(df)
输出结果:
A B C
0 0.12 10.1234 100.1234
1 1.46 11.4567 101.4567
2 2.79 12.7890 102.7890
在这个例子中,我们定义了一个名为round_func的lambda函数,它将数据框中浮点数的小数位数保留为2位。这个lambda函数只作用于数据框的'A'列。我们使用apply()函数和lambda函数来将舍入的值放回DataFrame中的指定列。
在Python的Pandas库中使用round()函数来舍入一个数据框中的所有数值,或使用apply()函数和lambda函数来只舍入特定的列,是一种非常简单的方法。这些技术可以帮助你在数据框中处理和分析数据,并保证你以正确的精度显示数据。