DataFrame.replace

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method=’pad’)
用值替换to_replace中给出的值。

Parameters

to_replace 将被替换的值
value 用于替换与to_replace匹配的任何值。
inplace False:返回一个副本;True:就地执行操作并返回None
limit 向前或向后填充的最大元素个数
regex 是否将to_replace或value解析为正则表达式
method 替换时使用的方法:pad,ffill,bfill,None

Example

  1. import pandas as pd
  2. df = pd.DataFrame({'site':['google', 'baidu', 'wiki', 'pandas'],
  3. 'age':[18, 39, 22, 45],
  4. 'price': [1.0, 2.0, 3.0, 4.0],
  5. 'color': ['red', 'black', None, 'red']})
  6. df.replace('red', 'blue')
  7. ------------------------------------------------------------
  8. site age price color
  9. 0 google 18 1.0 blue
  10. 1 baidu 39 2.0 black
  11. 2 wiki 22 3.0 None
  12. 3 pandas 45 4.0 blue

Example

  1. import pandas as pd
  2. df = pd.DataFrame({'site':['google', 'baidu', 'wiki', 'pandas'],
  3. 'age':[18, 39, 22, 45],
  4. 'price': [1.0, 2.0, 3.0, 4.0],
  5. 'color': ['red', 'black', None, 'red']})
  6. df.replace({1: 100, 'red': 'blue'})
  7. ----------------------------------------------------------------
  8. site age price color
  9. 0 google 18 100.0 blue
  10. 1 baidu 39 2.0 black
  11. 2 wiki 22 3.0 None
  12. 3 pandas 45 4.0 blue

Example

  1. import pandas as pd
  2. df = pd.DataFrame({'A': ['bat', 'foo', 'bait'],
  3. 'B': ['abc', 'bar', 'xyz']})
  4. df.replace(to_replace=r'^ba.$', value='new', regex=True)
  5. -----------------------------------------------------------
  6. A B
  7. 0 new abc
  8. 1 foo new
  9. 2 bait xyz
  1. import pandas as pd
  2. df = pd.DataFrame({'A': ['bat', 'foo', 'bait'],
  3. 'B': ['abc', 'bar', 'xyz']})
  4. df.replace({'A': r'^ba.$'}, {'A': 'new'}, regex=True)
  5. ------------------------------------------------------------
  6. A B
  7. 0 new abc
  8. 1 foo bar
  9. 2 bait xyz