【发布时间】:2020-03-12 22:32:13
【问题描述】:
我有一个带有文本的列。此文本可以包含国家/地区的名称。我想在与文本相同的行中列出所有提到的国家/地区。我已经有一个关于我要提取的国家/地区的系列。
SomeText | ... | .... | CountryInText
Something Canada | | |
RUSSIAAreACountry | | |
Mexicoand Brazil is South of USA
SomeText | ... | .... | CountryInText
Something Canada | | | Canada
RUSSIAAreACountry | | | Russia
Mexicoand Brazil is South of USA | | | Mexico, Brazil, USA
我试过了
pd.Series(df['SomeText'].str.findall(f"({'|'.join(countryname['CommonName'])})"))
但是,这给了我一个无法匹配回原始数据框的对象列表。 countryname['CommonName'] 是一系列国家名称。
谁能帮帮我?
提前致谢
【问题讨论】:
-
this 是您要找的吗?
-
你为什么要使用
findall?如果SomeText中有两个国家/地区名称会怎样? -
看起来您真正想要的可能与您的措辞不同。根据您的示例,您似乎想要的是特定行的最右列,由该行最左列中出现的所有国家/地区组成。对吗?
-
@Accccumulation 是的,这是正确的,抱歉 - 我现在正在更新问题。