如何将新的字符串元素添加到字符串系列
Posted
技术标签:
【中文标题】如何将新的字符串元素添加到字符串系列【英文标题】:How to add a new string element to the Series of strings 【发布时间】:2022-01-08 08:29:17 【问题描述】:我有一个 pandas 系列的字符串(职称)。我还有一个带有“目标”职位的字符串。
我的任务是遍历系列并检查“目标”是否存在于系列的元素中。它必须是完全匹配的(包括空格)。
如果存在,则必须将系列的元素替换为“目标”。如果没有匹配,则原始元素将保持不变。 我必须返回并调整系列。
这是我的代码和错误。
def nn(s, target)
sn = pd.Series()
for w in s:
if target in w:
sn.append(pd.Series(target))
else:
sn.append(pd.Series(w))
return sn
输入数据:
import pandas as pd
import copy
s = pandas.Series(['DATA ANALYTIC SCIENTIST',
'BEST DATA SCIENTIST',
'DATA SCIENTIST',
'DATA SCIENTIST - SPACE OPTIMIZATION',
'SCIENTIST DATA'])
target = 'DATA SCIENTIST'
nn(s, target)
错误(空系列)
Series([], dtype: float64)
谢谢!!
【问题讨论】:
【参考方案1】:你想要str.contains
和mask
:
s.mask(s.str.contains(target), target)
或者extract
然后fillna
:
s.str.extract(f'(target)', expand=False).fillna(s)
输出:
0 DATA ANALYTIC SCIENTIST
1 DATA SCIENTIST
2 DATA SCIENTIST
3 DATA SCIENTIST
4 SCIENTIST DATA
dtype: object
【讨论】:
像梦一样工作!!!我从未听说过.mask。优秀!非常感谢以上是关于如何将新的字符串元素添加到字符串系列的主要内容,如果未能解决你的问题,请参考以下文章