麦粉社区
>
帖子详情

python学习篇-pandas库(八)

数据挖掘 发表于 2019-12-24 15:24
发表于 2019-12-24 15:24:00
本帖最后由 chenshuo 于 2019-12-24 17:14 编辑

替换操作
函数DataFrame()
参数to_replace:需要替换的部分,可为str, regex, list, dict, Series, int, float, or None
参数value:用来替换部分,可为scalar, dict, list, str, regex, default None
参数inplace:默认False,True:直接修改原对象;False:创建一个副本,修改副本,原对象不变。
参数regex:默认False,为True:替换的部分为正则表达式
参数method: 可为‘pad’, ‘ffill’, ‘bfill’, None


创建数据集
  1. import pandas as pd
  2. import numpy as np
  3. data = {'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],
  4. 'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],
  5. 'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
  6. 'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

  7. labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
  8. df1 = pd.DataFrame(data, index=labels)
  9. df1
复制代码
1、数值替换

将值为1替换成6
  1. df2 =df1.copy()#复制
  2. print(df2)
  3. df2.replace(1,6)
复制代码
943145e0182aa21e1b.png

2、列表替换
将cat替换成mouse,yes替换成maybe
  1. df2 =df1.copy()#复制
  2. print(df2)
  3. df2.replace(['cat','yes'],['mouse','maybe'])
复制代码
60695e01844ed53c6.png

使用方法bfill,向后替换,详情可参考python学习篇(七)
  1. df2 =df1.copy()#复制
  2. print(df2)
  3. df2.replace(['cat','yes'],method='bfill')
复制代码
693995e0184f6a0114.png

3、字典替换
将数据集中的cat替换成mouse,将1替换成100
  1. df2 =df1.copy()#复制
  2. print(df2)
  3. df2.replace({'cat':'mouse',1:100})
复制代码
585025e0188860f9be.png
将数据集中animal列中cat替换成snake
  1. df2 =df1.copy()#复制
  2. print(df2)
  3. df2.replace({'animal':'cat'},'snake')
复制代码
968555e01a6f649afd.png
或者
  1. df2 =df1.copy()#复制
  2. print(df2)
  3. df2.replace({'animal':{'cat':'snake'}})
复制代码
191485e01a8020ee0d.png
4、正则替换
将do*的字符串替换成mouse
724345e01d69adef3a.png
976005e01d6307cf55.png

或者
449105e01d6aedbc36.png
5、替换成None
  1. df2 =df1.copy()#复制
  2. print(df2)
  3. df2.replace({'yes':'None'})
复制代码
891185e01d6e1285f5.png

发表于 2019-12-24 17:16:13
regex=r'^do.$' 这部分代码会使代码框 变乱
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 0关注人数 4146浏览人数
最后回复于:2019-12-24 17:16
快速回复 返回顶部 返回列表