我有一個資料框,其中根據某些變數合并了行。這作業得很好,但我現在遇到的問題是,對于某些字符變數,值是重復的。
我有兩個值,“Con”或“Lab”,現在有行(已合并)現在顯示“ConCon”或“LabLabLab”。
我的問題是如何重新編碼這些值?理想情況下,我需要一個將包含“Lab”(例如“LabLabLabLab”)的值轉換為 Lab 的命令。
任何投入將不勝感激。謝謝!
uj5u.com熱心網友回復:
在 R 中:
df <- data.frame(id = 1:5, party = c("Con", "ConCon", "LabLabLab", "LabLabLabLab", "ConConCon"))
df$party <- gsub("^(Con|Lab).*", "\\1", df$party)
df
## id party
## 1 1 Con
## 2 2 Con
## 3 3 Lab
## 4 4 Lab
## 5 5 Con
uj5u.com熱心網友回復:
假設您無法通過“LabCon”案例,您可以執行以下操作:
legal_words = ["Con", "Lab"]
to_change_words = ["Con", "ConCon", "LabLabLab", "LabLab", "Lab"]
for i,word in enumerate(to_change_words):
for legal in legal_words:
if legal in word:
to_change_words[i] = legal
print(to_change_words)
這將輸出
['Con', 'Con', 'Lab', 'Lab', 'Lab']
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466805.html
下一篇:正則運算式匹配多個案例
