我有一個文件有很多不同的命名不當的助記符(「原始助記符」)。我需要將這些命名不當的助記符的名稱更改爲通用名稱(「通用助記符」)。我相信我應該用字典來做這件事,但我不積極。查找替換名稱按源優先級(python)
這裏是數據的一個例子(你可以從下面的代碼創建一個數據幀):
originalMnemonic = ['ABCGR1','ABCGR2','ABCGR3','ABCGR4','ABCRT1','ABCRT2','ABCRT3','ABCRT4']
generalMnemonic = ['GR','GR','GR','GR','RT','RT','RT','RT']
sourcePriority = [2,3,4,5,1,2,3,4]
curveDf = pd.DataFrame(
{'originalMnemonic': originalMnemonic,
'generalMnemonic': generalMnemonic,
'sourcePriority': sourcePriority
})
我已經給每個「原來助記符」「一般助記符」的名字,我還提供了一個來源優先。
我將如何去查找和替換「原始助記符」的名稱與「通用助記符」的名稱。按來源優先順序排列。 (即,如果源prioirty 1存在,用1.如果1不存在使用源優先級2)
這裏是文件的一個例子,我想改變:
curveName = ['ABCGR1', 'ABCGR2', 'ABCGR3', 'ABCGR4', 'ABCRT1', 'ABCRT2', 'ABCRT3', 'ABCRT4']
curveDesc = ['I only want this name to be GR','dont change name','dont change name','dont change name',
'I only want this name to be RT','dont change name','dont change name','dont change name']
changeDf = pd.DataFrame(
{'curveName': curveName,
'curveDesc': curveDesc
})
「curveName」應以源優先順序從「curveDF」更改爲「通用助記符」名稱。
這是我想要的輸出:(注意ABCGR1如何改變,以GR(它有源的優先級2,和ABCRT1已更改爲RT(有源優先級1)
originalMnemonic = ['GR','ABCGR2','ABCGR3','ABCGR4','RT','ABCRT2','ABCRT3','ABCRT4']
generalMnemonic = ['GR','GR','GR','GR','RT','RT','RT','RT']
sourcePriority = [2,3,4,5,1,2,3,4]
outputDf = pd.DataFrame(
{'originalMnemonic': originalMnemonic,
'generalMnemonic': generalMnemonic,
'sourcePriority': sourcePriority
})
outputDf
任何幫助,讓我在正確的軌道理解
可能喲你發佈你想要的(結果)數據集? – MaxU
我已經添加了所需的輸出,並更改了一些代碼以使其更有意義。謝謝。 – brandog