У меня есть один столбец со списком названий компаний .Некоторые из этих названий содержат названия стран (например, «Китай» в «China A1», «Finland» в «C1 in Finland»).Я хочу извлечь принадлежащие им страны на основе названия компании и предварительно определенного списка, состоящего из названий стран.
Исходный кадр данных df выглядит следующим образом
Company name Country
0 China A1
1 Australia-A2
2 Belgium_C1
3 C1 in Finland
4 D1 of Greece
5 E2 for Pakistan
Пока я могу только придумать неэффективный метод.Вот мой код:
country_list = ['China','America','Greece','Pakistan','Finland','Belgium','Japan','British','Australia']
for t in country_list:
df.loc[df['company name'].contains(t),'country']=t
Результат показывает что-то вроде
Company name Country
0 China A1 China
1 Australia-A2 Australia
2 Belgium_C1 Belgium
3 C1 in Finland Finland
4 D1 of Greece Greece
5 E2 for Pakistan Pakistan
Я думал, что когда список стран содержит большое количество элементов, то есть стран, это будет времяпотребление через метод цикла.Есть ли более простой метод решения моей проблемы?