我想在不使用replace()函式的情況下替換字串。
只想用pandasand numpy。
樣本資料:
# df
Col1
ab1
de4
替換的邏輯是:
a將會ib將會gd將會me將會t1將會24將會3
有什么方法可以創建字典并使用它來識別和替換?
# df
Col1 Col2
ab1 ig2
de4 mt3
uj5u.com熱心網友回復:
您可以使用translate.
mapping = 'abde14'.maketrans({
'a': 'i',
'b': 'g',
'd': 'm',
'e': 't',
'1': '2',
'4': '3'
})
df['Col2'] = df.Col1.str.translate(mapping)
如果它總是映射到 1 個字符,則此語法可能更緊湊。
mapping = str.maketrans('abde14', 'igmt23')
uj5u.com熱心網友回復:
您可以為其創建函式并使用 apply。
import pandas as pd
df = pd.DataFrame()
df['col'] = ['asdsd', 'xxx', '41xwqa']
def custom_replace(element):
translate_dict = {
'a': 'i',
'b': 'g',
'd': 'm',
'e': 't',
'1': '2',
'4': '3'
}
return_element = ''
for char in element:
try:
return_element = translate_dict[char]
except:
return_element = char
return return_element
df['col'].apply(custom_replace)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428733.html
上一篇:我已經使用Py2App從我正在處理的Python代碼專案中創建了一個.app檔案,但是當我打開應用程式瀏覽檔案時,它們都是灰色的?
