本帖最后由 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
创建数据集
- import pandas as pd
- import numpy as np
- data = {'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],
- 'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],
- 'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
- 'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}
- labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
- df1 = pd.DataFrame(data, index=labels)
- df1
复制代码 1、数值替换
将值为1替换成6
- df2 =df1.copy()#复制
- print(df2)
- df2.replace(1,6)
复制代码
2、列表替换
将cat替换成mouse,yes替换成maybe
- df2 =df1.copy()#复制
- print(df2)
- df2.replace(['cat','yes'],['mouse','maybe'])
复制代码
使用方法bfill,向后替换,详情可参考python学习篇(七)
- df2 =df1.copy()#复制
- print(df2)
- df2.replace(['cat','yes'],method='bfill')
复制代码
3、字典替换
将数据集中的cat替换成mouse,将1替换成100
- df2 =df1.copy()#复制
- print(df2)
- df2.replace({'cat':'mouse',1:100})
复制代码
将数据集中animal列中cat替换成snake
- df2 =df1.copy()#复制
- print(df2)
- df2.replace({'animal':'cat'},'snake')
复制代码
或者
- df2 =df1.copy()#复制
- print(df2)
- df2.replace({'animal':{'cat':'snake'}})
复制代码
4、正则替换
将do*的字符串替换成mouse
或者
5、替换成None
- df2 =df1.copy()#复制
- print(df2)
- df2.replace({'yes':'None'})
复制代码
|