如何将多个值替换为 Python3 中的一个
How to replace multiple values to one in Python3
我目前正在尝试从数据框行中获取国家/地区。这是我目前拥有的代码:
l = [
['[Aydemir, Deniz\', \' Gunduz, Gokhan\', \' Asik, Nejla] Bartin
Univ, Fac Forestry, Dept Forest Ind Engn, TR-74100 Bartin,
Turkey\', \' [Wang, Alice] Lulea Univ Technol, Wood Technol,
Skelleftea, Sweden',1990],
['[Fang, Qun\', \' Cui, Hui-Wang] Zhejiang A&F Univ, Sch Engn, Linan
311300, Peoples R China\', \' [Du, Guan-Ben] Southwest Forestry
Univ, Kunming 650224, Yunnan, Peoples R China',2005],
['[Blumentritt, Melanie\', \' Gardner, Douglas J.\', \' Shaler
Stephen M.] Univ Maine, Sch Resources, Orono, ME USA\', \' [Cole,
Barbara J. W.] Univ Maine, Dept Chem, Orono, ME 04469 USA',2012],
['[Kyvelou, Pinelopi; Gardner, Leroy; Nethercot, David A.] Univ
London Imperial Coll Sci Technol & Med, London SW7 2AZ,
England',1998]]
dataf = pd.DataFrame(l, columns = ['Authors', 'Year'])
这是数据框。这是代码:
df = (dataf['Authors']
.replace(r"\bUSA\b", "United States", regex=True)
.apply(lambda x: geotext.GeoText(x).countries))
问题是 GeoText 无法识别 "USA",但现在我也看到我需要更改 "England"、"Scotland"、"Wales" 和 "Northern Ireland" 到 "United Kingdom"。
我如何扩展 .replace
来实现这一点?
这对我有用。这是代码:
replace_list = ['England', 'Scotland', 'Wales', 'Northern Ireland']
for check in replace_list:
dataf['Authors'] = dataf['Authors'].str.replace(check, 'United Kingdom', regex=True)
您可以使用 Series.str
模块的 translate
方法并传递替换字典。
dataf.Authors.str.translate({
'USA': 'United States',
"England": "United Kingdom",
"Scotland": "United Kingdom",
"Wales": "United Kingdom",
"Northern Ireland": "United Kingdom"
})
我目前正在尝试从数据框行中获取国家/地区。这是我目前拥有的代码:
l = [
['[Aydemir, Deniz\', \' Gunduz, Gokhan\', \' Asik, Nejla] Bartin
Univ, Fac Forestry, Dept Forest Ind Engn, TR-74100 Bartin,
Turkey\', \' [Wang, Alice] Lulea Univ Technol, Wood Technol,
Skelleftea, Sweden',1990],
['[Fang, Qun\', \' Cui, Hui-Wang] Zhejiang A&F Univ, Sch Engn, Linan
311300, Peoples R China\', \' [Du, Guan-Ben] Southwest Forestry
Univ, Kunming 650224, Yunnan, Peoples R China',2005],
['[Blumentritt, Melanie\', \' Gardner, Douglas J.\', \' Shaler
Stephen M.] Univ Maine, Sch Resources, Orono, ME USA\', \' [Cole,
Barbara J. W.] Univ Maine, Dept Chem, Orono, ME 04469 USA',2012],
['[Kyvelou, Pinelopi; Gardner, Leroy; Nethercot, David A.] Univ
London Imperial Coll Sci Technol & Med, London SW7 2AZ,
England',1998]]
dataf = pd.DataFrame(l, columns = ['Authors', 'Year'])
这是数据框。这是代码:
df = (dataf['Authors']
.replace(r"\bUSA\b", "United States", regex=True)
.apply(lambda x: geotext.GeoText(x).countries))
问题是 GeoText 无法识别 "USA",但现在我也看到我需要更改 "England"、"Scotland"、"Wales" 和 "Northern Ireland" 到 "United Kingdom"。
我如何扩展 .replace
来实现这一点?
这对我有用。这是代码:
replace_list = ['England', 'Scotland', 'Wales', 'Northern Ireland']
for check in replace_list:
dataf['Authors'] = dataf['Authors'].str.replace(check, 'United Kingdom', regex=True)
您可以使用 Series.str
模块的 translate
方法并传递替换字典。
dataf.Authors.str.translate({
'USA': 'United States',
"England": "United Kingdom",
"Scotland": "United Kingdom",
"Wales": "United Kingdom",
"Northern Ireland": "United Kingdom"
})