📜  Pandas DataFrame 中舍入值的方法(1)

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

Pandas DataFrame 中舍入值的方法

在处理数据时,经常需要对其进行舍入操作。学会使用 Pandas 中的舍入函数,对数据进行必要的处理,可以更好地将数据展示给用户。这里,我们将介绍 Pandas DataFrame 中舍入值的方法。

Pandas DataFrame 中的 round() 函数

Pandas 中的 round() 函数可以用来四舍五入 DataFrame 中的值。使用该函数时,需要指定小数点后要保留的位数。

# 定义 sample 数据
data = {
    'name': ['A', 'B', 'C', 'D', 'E'],
    'marks': [45.3, 60.2, 37.5, 89.9, 78.5]
}
df = pd.DataFrame(data)

# 使用 round() 函数四舍五入 marks 列的值到小数点后一位
df['marks'] = df['marks'].round(1)

# 展示 DataFrame
print(df)

结果为:

  name  marks
0    A   45.3
1    B   60.2
2    C   37.5
3    D   89.9
4    E   78.5
Pandas DataFrame 中的 apply() 函数

除了 round() 函数,还可以使用 apply() 函数将使用自定义的舍入函数对 DataFrame 进行舍入。

# 自定义舍入函数
def round_marks(x):
    return round(x, 1)

# 使用 apply() 函数调用自定义函数对 marks 列进行舍入
df['marks'] = df['marks'].apply(round_marks)

# 展示 DataFrame
print(df)

结果为:

  name  marks
0    A   45.3
1    B   60.2
2    C   37.5
3    D   89.9
4    E   78.5
Pandas DataFrame 中的 astype() 函数

astype() 函数可以将 DataFrame 中的值转换为指定类型。在转换的同时,还可以指定保留小数点后多少位。

# 使用 astype() 函数将 marks 列中的值转换为指定类型,保留小数点后一位
df['marks'] = df['marks'].astype('float64').round(1)

# 展示 DataFrame
print(df)

结果为:

  name  marks
0    A   45.3
1    B   60.2
2    C   37.5
3    D   89.9
4    E   78.5

以上是 Pandas DataFrame 中舍入值的方法介绍。通过上述三种方式,可以方便地对 DataFrame 中的数值进行舍入处理,以满足实际数据分析的需要。