gpt4 book ai didi

python - 一次替换 Pandas Series 的多个子字符串

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:07 25 4
gpt4 key购买 nike

我有一个 Pandas 系列的高尔夫分数,我想同时进行多个子字符串替换:

  1. 将“+”替换为“”(即什么都没有)
  2. 将“E”替换为“0”

在字典中,我想这应该是这样的:

reps = {'+' : '', 'E' : '0'}

我试过 pandas.Series.str.replace,但这似乎只接受一个参数。到目前为止我所做的是:

series = series.str.replace('+', '')
series = series.str.replace('E', '0')

这行得通,但显然形式不佳。我怎样才能在一行中进行任意数量的编辑?

最佳答案

如果您使用的是 python3(这在 python2 中不起作用),您可以使用 pandas.Series.str.translate如下:

import pandas as pd
reps = {'+' : '', 'E' : '0'}
series = pd.Series(['+1', 'E', '+5', '-1'])

print(series)
#0 +1
#1 E
#2 +5
#3 -1
#dtype: object

print(series.str.translate(str.maketrans(reps)))
#0 1
#1 0
#2 5
#3 -1
#dtype: object

一种更好的方法来验证它是否按照您的预期进行:

print(series.str.translate(str.maketrans(reps)).values)
#array(['1', '0', '5', '-1'], dtype=object)

关于python - 一次替换 Pandas Series 的多个子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51776454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com