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

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

替换 Pandas 数据框中的值 - Python

在使用 Pandas 处理数据时,经常需要替换数据框中的某些值。比如,将数据框中的空值替换为某个特定值,或者将数据框中大于某个阈值的值替换为该阈值。在本文中,我们将介绍 Pandas 中常用的替换方法,包括使用 loc 方法、replace 方法以及 apply 方法等。

使用 loc 方法替换值

loc 方法用于按标签访问数据框中的元素,很方便地实现替换操作。具体实现方法如下:

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': ['a', 'b', 'c', 'd', 'e']})

# 将 A 列中大于 3 的值替换为 -1
df.loc[df['A'] > 3, 'A'] = -1

# 输出数据框
print(df)

输出结果为:

   A  B
0  1  a
1  2  b
2  3  c
3 -1  d
4 -1  e

在上述代码中,我们首先使用 DataFrame 函数创建了一个数据框 df,使用 loc 方法按条件选择了需要被替换的数据,然后将这些数据替换为 -1。

使用 replace 方法替换值

replace 方法用于将数据框中的某个值替换为另一个值。比如,将数据框中的空值替换为某个特定值,或者将某个字符串替换为其他字符串。

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': ['a', '', 'c', 'd', 'e']})

# 将空值替换为 None
df.replace('', None, inplace=True)

# 输出数据框
print(df)

输出结果为:

   A  B
0  1  a
1  2  None
2  3  c
3  4  d
4  5  e

在上述代码中,我们使用 DataFrame 函数创建了一个数据框 df,使用 replace 方法将数据框中的空值替换为 None。

使用 apply 方法替换值

apply 方法用于对数据框中的某个列或行中的每个元素应用某个函数。我们可以将一个函数传递给 apply 方法,然后使用这个函数对数据框中的每个元素进行处理。

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': ['a', 'b', 'c', 'd', 'e']})

# 创建一个函数
def square(x):
    if x > 3:
        return x**2
    else:
        return x

# 使用 apply 方法替换值
df['A'] = df['A'].apply(square)

# 输出数据框
print(df)

输出结果为:

    A  B
0   1  a
1   2  b
2   3  c
3  16  d
4  25  e

在上述代码中,我们首先使用 DataFrame 函数创建了一个数据框 df,然后使用 apply 方法将数据框中大于 3 的元素替换为该元素的平方。注意,我们需要使用 apply 方法将函数应用于 A 列中的每个元素。