python replace函数_Pandas DataFrame.replace()用法

本文概述

Pandas replace()是一个非常丰富的函数, 用于从DataFrame替换字符串, 正则表达式, 字典, 列表和序列。 DataFrame的值可以动态替换为其他值。它能够使用Python regex(正则表达式)。

它与.loc或.iloc更新不同, 后者需要你使用一些值指定要更新的位置。

句法

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)

参数

to_replace:定义一个我们要在数据框中替换的模式。

值:它是一个用于填充DataFrame中的孔的值(例如0), 或者是一个值的字典, 该值指定了每列要使用的值(不在字典中的列将不被填充)。

它还允许使用正则表达式, 字符串以及列表或字典等对象。

就地:如果为True, 则将其替换。

注意:它还会修改此对象的任何其他视图(例如, DataFrame中的列)。如果为True, 则返回调用方。

极限:它定义了向前或向后填充的最大尺寸间隙。

regex:检查是否将to_replace和/或value解释为正则表达式。如果为True, 则to_replace必须为字符串。否则, to_replace必须为None, 因为此参数将被解释为正则表达式或正则表达式的列表, 字典或数组。

方法:当to_replace是列表时, 这是一种用于替换的方法。

返回:替换后返回DataFrame对象。

范例1:

import pandas as pd

info = pd.DataFrame({'Language known': ['Python', 'Android', 'C', 'Android', 'Python', 'C++', 'C']}, index=['Parker', 'Smith', 'John', 'William', 'Dean', 'Christina', 'Cornelia'])

print(info)

dictionary = {"Python": 1, "Android": 2, "C": 3, "Android": 4, "C++": 5}

info1 = info.replace({"Language known": dictionary})

print("\n\n")

print(info1)

输出

Language known

Parker Python

Smith Android

John C

William Android

Dean Python

Christina C++

Cornelia C

Language known

Parker 1

Smith 4

John 3

William 4

Dean 1

Christina 5

Cornelia 3

范例2:

下面的示例在DataFrame中用另一个值替换一个值。

import pandas as pd

info = pd.DataFrame({

'name':['Parker', 'Smith', 'John'], 'age':[27, 34, 31], 'city':['US', 'Belgium', 'London']

})

info.replace([29], 38)

输出

name age City

0Parker 27 US

1Smith 34 Belgium

2John 38 London

范例3:

下面的示例替换了dict中的值:

import pandas as pd

info = pd.DataFrame({

'name':['Parker', 'Smith', 'John'], 'age':[27, 34, 31], 'city':['US', 'Belgium', 'London']

})

info.replace({

34:29, 'Smith':'William'

})

输出

name age City

0Parker 27 US

1William 29 Belgium

2John 31 London

示例4:

以下示例替换了正则表达式中的值:

import pandas as pd

info = pd.DataFrame({

'name':['Parker', 'Smith', 'John'], 'age':[27, 34, 31], 'city':['US', 'Belgium', 'London']

})

info.replace('Sm.+', 'Ela', regex=True)

输出

name age City

0Parker 27 US

1Ela 34 Belgium

2John 31 London

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值