# -*- coding: utf-8 -*-
import pandas as pd
#创建数据集
df = pd.DataFrame(
{
'名称':['产品1','产品2','产品3','产品4','产品5','产品6','产品7','产品8'],
'数量':['A','0.7','0.8','0.4','0.7','B','0.76','0.28'],
'金额':['0','0.48','0.33','C','0.74','0','0','0.22'],
'合计':['D','0.37','0.28','E','0.57','F','0','0.06'],
}
)
#搜索整个DataFrame, 并将所有符合条件的元素全部替换。操作之后,其实原DataFrame是并没有改变的。改变的只是一个复制品。
df.replace('A', 0.1)
#如果需要改变原数据,需要添加常用参数 inplace=True
df.replace('A', 0.1, inplace=True)
#inplace这个参数在一般情况没多大用处,但是如果只替换部分区域时,inplace参数就有用了
df['金额'].replace(0, 0.22, inplace=True)
'''
在上面这个操作中,‘合计’这一列中的0,并没有被替换。
只有‘金额’这一列的0被替换,而且,替换后的结果不需要我们再和原数据进行合并操作,直接体现在原数据中。
'''
#可以用字典形式替换多个值
df.replace({'C':0.9999, 'F':0.7777})
df.replace(['C', 'F'], [0.999, 0.777])
df['合计'].replace({'D':0.11111, 'F':0.22222}, inplace=True)
#如果替换的值都是一样的话
df.replace(['C', 'F'], 0.33333)
df['合计'].replace(['D', 'F'], 0.0111, inplace=True)
#参数regex,可以使用正则表达式替换多个
df.replace('[A-Z]', 0.99, regex=True)
#只需要替换某个数据的部分内容
df['名称'].str.replace('产品', 'product')
#某些列满足特定条件,然后改变另外的某些列的值
df.loc[df['数量'] == 'A', '合计'] = 'changed' # 关键句,直接改变df的值
df.loc[df['合计'].str.contains('change'), '数量'] = 'A' #使用countains可以用来正则匹配筛选
pandas利用replace进行全部替换或者通过选择筛选后进行替换
最新推荐文章于 2025-10-19 15:45:40 发布
本文详细介绍了使用Python的Pandas库进行数据处理的方法,包括如何创建数据集、使用replace函数替换DataFrame中的特定值,以及如何利用正则表达式进行更复杂的替换操作。文章还展示了如何在指定条件下修改数据集中的值。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.8
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
1万+





