如何将新的字符串元素添加到字符串系列

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.containsmask

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。优秀!非常感谢

以上是关于如何将新的字符串元素添加到字符串系列的主要内容,如果未能解决你的问题,请参考以下文章

如何将新字符串添加到字符串中[关闭]

将新属性添加到字符串类 C# [重复]

如何从 C 中将新的字符串元素附加到 Swift 中的数组

如何使用 Swift 将新数组数据添加到 plist 文件中的 NSDictionary

拆分所有列表框元素并将它们全部添加到新的字符串数组中

如何将新的 FormGroup 或 FormControl 添加到表单