Python pandas.replace的用法详解

  • Post category:Python

Python pandas.replace的用法详解

概述

pandas 是一个数据处理库,其中的 replace 方法可以修改 DataFrame 或 Series 中的值。replace 方法模式匹配,是通过查找一个值并用另一个值替换它来修改数据的最便捷方法。

语法

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')
  • to_replace: 要查找的值,在DataFrame 或 Series 中,指需要被替换的值。
  • value: 要替换的新值,指要为 to_replace 中的值替换的值。
  • inplace: 默认 False,在原 DataFrame 或 Series 中进行修改。如果 True,将在原数据上进行修改,并返回一个 None 值。
  • limit: 指定要替换的最大数量。如果指定,前几个匹配(limit 数量)将被替换。
  • regex: 是否使用正则表达式进行匹配。默认 False。
  • method: 如果 to_replace 与 value 使用了列表,那么 method 用于指定如何进行替换。默认 ‘pad’,表示使用前面的值向后填充。

示例

示例 1:用数字替换字符串

import pandas as pd

# 创建一个 DataFrame
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'], 'Age': [28, 34, 29, 42], 'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Chengdu']}
df = pd.DataFrame(data)

# 用数字替换字符串示例
df.replace(to_replace='Beijing', value=1, inplace=True)
print(df)

输出:

    Name  Age City
0    Tom   28    1
1   Jack   34   上海
2  Steve   29   广州
3  Ricky   42   成都

示例 2:用列表数据替换值

import pandas as pd

# 创建一个 DataFrame
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'], 'Age': [28, 34, 29, 42], 'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Chengdu']}
df = pd.DataFrame(data)

# 用列表数据替换值
df.replace(to_replace=['Beijing', 'Shanghai'], value=['B', 'S'], inplace=True)
print(df)

输出:

    Name  Age City
0    Tom   28    B
1   Jack   34    S
2  Steve   29   广州
3  Ricky   42   成都

总结

以上是 replace 方法的基本用法和两个示例,通过 replace 方法可以很方便地对数据进行修改。如果我们需要对一个 DataFrame 或 Series 内特定值进行处理或者替换, replace 方法是一个非常好的选择。