我有一個熊貓系列的字串(職稱)。我還有一個帶有“目標”職位的字串。
我的任務是遍歷系列并檢查“目標”是否存在于系列的元素中。它必須完全匹配(包括空格)。
如果它存在,則系列的元素必須替換為“目標”。如果沒有匹配,那么原始元素將保持不變。我必須回傳并調整系列。
這是我的代碼和錯誤。
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)
ERRORS(空系列)
Series([], dtype: float64)
謝謝!!
uj5u.com熱心網友回復:
你想要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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/370790.html
上一篇:如何將2個方法回圈在一起?
