Pandas库学习之DataFrame.replace()函数

Pandas库学习之DataFrame.replace()函数

一、简介

DataFrame.replace()函数用于替换DataFrame中的指定值。该函数允许使用单个值、列表、字典或正则表达式进行替换操作,非常灵活。

二、语法和参数

python 复制代码
DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')
  • to_replace :需要替换的值,可以是单个值、列表、字典或正则表达式
  • value:替换后的值,可以是单个值、列表或字典。
  • inplace:布尔值,是否在原DataFrame上进行替换,默认False。
  • limit:整数,限制替换的数量。
  • regex :布尔值,是否将to_replace作为正则表达式处理,默认False。
  • method :当to_replace是NA值时,指定填充方法,如'pad'、'ffill'、'bfill'。

三、实例

3.1 替换单个值
python 复制代码
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 替换值
df.replace(1, 10, inplace=True)
print(df)

输出:

复制代码
    A  B
0  10  4
1   2  5
2   3  6
3.2 使用字典替换值
python 复制代码
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用字典替换值
df.replace({'A': 1, 'B': 4}, 100, inplace=True)
print(df)

输出:

复制代码
     A    B
0  100  100
1    2    5
2    3    6
3.3 使用列表替换值
python 复制代码
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用列表替换值
df.replace([1, 4], [100, 400], inplace=True)
print(df)

输出:

复制代码
     A    B
0  100  400
1    2    5
2    3    6
3.4 使用正则表达式替换值
python 复制代码
import pandas as pd

data = {'A': ['foo', 'bar', 'baz'], 'B': ['fuz', 'buz', 'faz']}
df = pd.DataFrame(data)

# 使用正则表达式替换值
df.replace(to_replace=r'^b', value='new', regex=True, inplace=True)
print(df)

输出:

复制代码
     A    B
0  foo  fuz
1  new  newz
2  new  faz

四、注意事项

  1. 当使用inplace=True时,DataFrame会直接修改,无需重新赋值。
  2. to_replace为字典时,value的值必须与to_replace的键相对应。
  3. 使用正则表达式时,需将regex参数设置为True。
相关推荐
xqqxqxxq32 分钟前
树结构技术学习笔记
数据结构·笔记·学习
十月的皮皮1 小时前
C语言学习笔记202606008- 三角形判断(3种方法)
c语言·笔记·学习
XGeFei1 小时前
【Fastapi学习笔记(6)】—— Fastapi文件上传、请求头自动转换
笔记·学习·fastapi
一口吃俩胖子2 小时前
【脉宽调制DCDC功率变换学习笔记024】频域性能
笔记·学习
吃着火锅x唱着歌2 小时前
深度探索C++对象模型 学习笔记 第五章 构造、解构、拷贝语意学(2)
c++·笔记·学习
中小企业实战军师刘孙亮2 小时前
快消纺织五金怎么融合?三大业态协同发展战略思路-佛山鼎策创局破局增长咨询
学习·面试·创业创新·制造·学习方法
Upsy-Daisy2 小时前
Hermes Agent 学习笔记 04:工具调用系统,让 Agent 从“会说”变成“会做”
java·笔记·学习
楼田莉子2 小时前
C++20新特性:协程
开发语言·c++·后端·学习·c++20
weixin_428005302 小时前
C#调用 AI学习从0开始-第2阶段(Function Calling+工具调用智能体)-第9天实战-实现计算器工具
开发语言·学习·c#·functioncalling·ai实现计算器工具
Deepoch2 小时前
Deepoc VLA开发板:除草机器人的持续学习与协同作业系统
人工智能·学习·机器人·开发板·具身模型·deepoc