📜  Python|熊猫 dataframe.replace()(1)

📅  最后修改于: 2023-12-03 14:46:30.191000             🧑  作者: Mango

Python | 熊猫 dataframe.replace()

简介

熊猫(Pandas)是一种高效的数据分析工具,其中的dataframe是熊猫库中最重要且最常用的对象类型。dataframe.replace()可以替换dataframe中的值,是常用的数据清洗操作。

语法
DataFrame.replace(
    to_replace=None,
    value=None,
    inplace=False,
    limit=None,
    regex=False,
    method='pad'
)
参数
  • to_replace:表示需要替换的值,可以是单个值,也可以是列表、字典、正则表达式等。对于字典,键表示需要替换的值,值表示替换后的值。
  • value:表示替换成的值,可以是单个值,也可以是字典、列表等。该参数为空则表示删除to_replace的值。
  • inplace:表示是否在原dataframe上直接进行替换,默认为False。
  • limit:表示最多替换的次数,超过limit次则不再进行替换。
  • regex:表示to_replace是否为正则表达式,默认为False。
  • method:表示向前或向后替换的方式,可选值为'pad'和'bfill'。
示例
替换单个值
import pandas as pd

df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6]})
df.replace(1, 10, inplace=True)
print(df)

输出:

    A  B
0  10  4
1   2  5
2   3  6
替换多个值
import pandas as pd

df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6]})
df.replace([1,3], [10,30], inplace=True)
print(df)

输出:

    A  B
0  10  4
1   2  5
2  30  6
字典替换
import pandas as pd

df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6]})
df.replace({1: 10, 3: 30}, inplace=True)
print(df)

输出:

    A  B
0  10  4
1   2  5
2  30  6
正则表达式替换
import pandas as pd

df = pd.DataFrame({'A':['abc','def','ghi'], 'B':['jkl','mno','pqr']})
df.replace(regex=r'^a', value='A', inplace=True)
print(df)

输出:

     A    B
0    Ab  jkl
1  def  mno
2  ghi  pqr
设置最大替换次数
import pandas as pd

df = pd.DataFrame({'A':[1,2,3,4,5], 'B':[4,5,6,7,8]})
df.replace(5, 50, limit=2, inplace=True)
print(df)

输出:

    A   B
0   1   4
1   2  50
2   3  6
3   4   7
4  50   8
结语

dataframe.replace()是一种常用的数据清洗操作,可以方便地替换dataframe中的值。了解它的用法可以提高数据分析的效率。