1
我有一些城市名稱的縮寫字典,我們的系統(出於某種原因)適用於數據(即「堪薩斯城」縮寫'堪薩斯CY'和俄克拉何馬城拼寫正確)。Python,Pandas - 將數據框中的列應用於數據框中的功能以僅替換某些項目
我有一個問題讓我的函數適用於數據框的列,但它在我傳遞數據字符串時起作用。下面的代碼示例:
def multiple_replace(text, dict):
# Create a regular expression from the dictionary keys
regex = re.compile("(%s)" % "|".join(map(re.escape, dict.keys())))
# For each match, look-up corresponding value in dictionary
return regex.sub(lambda mo: dict[mo.string[mo.start():mo.end()]], text)
testDict = {"Kansas CY": "Kansas City"}
dfData['PREV_CITY'] = dfData['PREV_CITY'].apply(multiple_replace, dict=testDict)
當我添加「軸= 1」到最後一行就出現了錯誤,說我提供的參數過多。否則,它運行時沒有錯誤,只是在與字典匹配時不進行更改。
預先感謝您! -Reece
如果你已經有一個字典,然後'dfData [ 'PREV_CITY'] = dfData [ 'PREV_CITY'。圖(testDict,na_action =」忽略')'應該可以工作 – EdChum
不可以:-(它只是清除了列 – ProfessionalAmateur
這意味着你d沒有與你的字典鍵完全匹配,你還沒有發佈任何樣本數據,所以這只是一個猜測。 – EdChum