【Pandas 基础知识 数据修改总结】

【Pandas 基础知识 数据修改总结】

目录

前言

一、 数据修改 loc与iloc

1.单值修改 修改红方英雄刺客荆轲为李白

2.单行修改 修改辅助行为墨子

3.单列修改 修改红方伤害为10

4.按条件修改 修改蓝方伤害大于11的为MVP

二、数据修改 mask()与where()

1.mask()单值修改 修改红方英雄刺客荆轲为李白

2.mask()按条件修改 修改蓝方伤害大于11的为MVP

3.where()按条件修改 修改蓝方伤害小于9的为Fail

三、数据修改 replace()

1.replace()单值修改 将荆轲修改为李白

2.replace()多值修改 多个值修改为单个值

3.replace()多值修改 多个值修改为多个值

4.replace()多值修改 指定多列修改

5.replace()正则表达式修改

; 前言

Pandas 数据修改最强总结,详见思维导图;

一、 数据修改 loc与iloc

记忆公式:
单值修改:df.loc[行索引,列索引]
单行修改:df.loc[行索引]或df.iloc[行索引];
单列修改:df[列索引]、df.loc[:,列索引]或df.iloc[:,列索引]
按条件修改: df.loc[[筛选后的DataFrame].index,列索引]

1.单值修改 修改红方英雄刺客荆轲为李白

df=pd.DataFrame({'英雄属性':['刺客','射手','法师','战士','辅助'],
                '红方英雄':['荆轲','卤蛋','甄姬','夏侯惇','项羽'],
                '红方伤害':[11.20,15.34,8.57,6.98,3.69],
                 '红方死亡次数':['1次','10次','8次','5次','6次'],
                '蓝方英雄':['赵云','马克','干将','吕布','刘禅'],
                '蓝方伤害':[10.82,11.36,10.87,9.69,6.53],
                '蓝方死亡次数':['5次','8次','4次','7次','10次']})
df.set_index('英雄属性',inplace=True)

df.loc['刺客','红方英雄']='李白'
df.iloc[0,0]='李白'
df.loc[df[df['红方英雄']=='荆轲'].index,'红方英雄']='李白'
df.iloc[0,0]='李白'

【Pandas 基础知识 数据修改总结】

2.单行修改 修改辅助行为墨子

df.loc['辅助']='墨子'
df.iloc[4]='墨子'

【Pandas 基础知识 数据修改总结】

3.单列修改 修改红方伤害为10

df.loc[:,'红方伤害']=10
df.iloc[:,1]=10

4.按条件修改 修改蓝方伤害大于11的为MVP

df.loc[df[df['蓝方伤害']>11].index,'蓝方伤害']='MVP'

二、数据修改 mask()与where()

函数理解:

mask()函数和where()函数结构相同,含义相反;
mask()对条件成立做处理,where()函数对条件不成立做处理;
均可以对Series和DataFrame数据进行处理;

记忆公式:

mask(条件判断,条件成立的值)

where(条件判断,条件不成立的值)

1.mask()单值修改 修改红方英雄刺客荆轲为李白

df['红方英雄'].mask(df['红方英雄']=='荆轲','李白')

【Pandas 基础知识 数据修改总结】

2.mask()按条件修改 修改蓝方伤害大于11的为MVP

df['蓝方伤害'].mask(df['蓝方伤害']>11,'MVP')

【Pandas 基础知识 数据修改总结】

3.where()按条件修改 修改蓝方伤害小于9的为Fail

df['蓝方伤害'].where(df['蓝方伤害']>9,'Fail')

【Pandas 基础知识 数据修改总结】

三、数据修改 replace()

函数理解:

df.replace(to_replace=None,value=None,inplace=False,limit=None,regex=False,method=’pad)
to_replace 查找要替换的值;
value 替换与查找匹配的值;
inplace 修改原数据;
limit 向前或向后填充的最大尺寸间隙;
regex 是否支持正则表达式;
method 替换方法;

1.replace()单值修改 将荆轲修改为李白

df.replace('荆轲','李白')

【Pandas 基础知识 数据修改总结】

2.replace()多值修改 多个值修改为单个值

df.replace(['荆轲','卤蛋',8.57],'英雄')

【Pandas 基础知识 数据修改总结】

3.replace()多值修改 多个值修改为多个值

df.replace(['荆轲','卤蛋',8.57],['李白','马克',9.99])

【Pandas 基础知识 数据修改总结】

4.replace()多值修改 指定多列修改

df.replace({
    '红方英雄':{'荆轲':'李白','卤蛋':'马克'},
    '红方伤害':{8.57:9.99,3.69:5.55}
})

【Pandas 基础知识 数据修改总结】

5.replace()正则表达式修改

replace()正则表达式修改,详见前期文章:

Pandas 数据替换 replace()函数详解

总结

总结一下Pandas数据修改的三中常用方法,loc与iloc方法;mask()与where()函数;replace()函数的用法,结合正则表达式,实现数据的快速处理。

Original: https://blog.csdn.net/m0_62011685/article/details/124827501
Author: 西瓜WiFi
Title: 【Pandas 基础知识 数据修改总结】

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/750925/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球