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
方法是一个非常好的选择。