📌  相关文章
📜  pandas 数据框中的舍入值 - Python (1)

📅  最后修改于: 2023-12-03 15:03:30.151000             🧑  作者: Mango

Pandas数据框中的舍入值 - Python

在Python的Pandas库中,数据框是一种非常有用的数据结构,用于处理和分析数据。 在许多情况下,我们需要对数值数据进行四舍五入,并将其保留到一定的小数位数。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位小数。

Pandas数据框中的特定列舍入

当需要只舍入数据框的某些列时,我们可以使用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函数来只舍入特定的列,是一种非常简单的方法。这些技术可以帮助你在数据框中处理和分析数据,并保证你以正确的精度显示数据。