изменение фрейма данных путем добавления дополнительного столбца оператора if - PullRequest
0 голосов
/ 26 июня 2019

Изменение фрейма данных путем добавления дополнительного столбца с оператором if. Я создал 5 списков, а именно: Восточная_Азия, Центральная_Азия, Центральная_Америка, Южная_Америка, Европа_Востка и Европа_Запад. И я хотел добавить условный столбец на основе существующего столбца. То есть, если в Central_East Япония, то строка Японии в столбце добавления должна содержать Центральный Восток и т. д.

df['native_region'] =df["native_country"].apply(lambda x: "Asia-East" if x in 'Asia_East' 
                                               "Central-Asia" elif x in "Central_Asia"
                                                "South-America" elif x in "South_America"
                                                "Europe-West" elif x in "Europe_West"
                                                "Europe-East" elif x in "Europe_East"
                                                "United-States" elif x in " 
United-States" 
else "Outlying-US"
                                                 )

Файл "", строка 2 "Центральная Азия" elif x в "Central_Asia" ^ Ошибка синтаксиса: неверный синтаксис

1 Ответ

0 голосов
/ 26 июня 2019

Я могу ошибаться, но я думаю, что вы неправильно понимаете проблему.

То, что вы, похоже, делаете, это просто замените «_» на «-», что вы можете сделать следующей строкой: df['native_region'] = df.native_country.str.replace('_', '-')

А потом, по моему опыту, более понятно работать так:

known_countries = ['Asia-East', 'Central-Asia', 'South-America', ...]
is_known = df['native_country'].isin(known_countries )
df.native_region[~known_countries] = 'Outlying-US'

Это также может работать, если вы работали с такими странами, как:

east_asia_countries = ['Japan', 'China', 'Korea']
isin_east_asia = df['native_country'].isin(east_asia_countries)
df.native_region[known_countries] = 'East-Asia'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...