如何从“地址”列中提取国家/地区并将其附加到“国家/地区”列中

时间:2019-05-30 03:29:30

标签: python pandas csv

我正在尝试从“国家/地区”为空的行的“地址”列中提取国家/地区。

我从 How to extract countries from a text?但是,我想知道是否有一种方法可以将country.name附加到单独的列中,前提是该行的国家/地区列为空。

df = pd.read_csv("file.csv")
# import pycountry

list_alpha_name = [i.name for i in list(pycountry.countries)]
list_alpha_2 = [i.alpha_2 for i in list(pycountry.countries)]
list_alpha_3 = [i.alpha_3 for i in list(pycountry.countries)]

def country_flag(df):

   if (df['Country'].isnull() and df['Address'] in list_alpha_name):
      return pycountry.countries.get(name=df['Address'].name)
   else:
      return np.nan

df['Country'] = df.apply(country_flag, axis=1)
df['Country']

我得到的错误是 AttributeError :(“ str对象没有属性'isnull'”,“发生在索引0”)

此外,在此之前,我还从事其他工作。尝试使用inplace = True将值附加到列中时,我也收到一条错误消息。

1 个答案:

答案 0 :(得分:0)

问题如您的错误声明中所述。可能的解决方案可能是:
https://stackoverflow.com/a/41287340/8426808