Я хочу создать столбец в кадре данных, который условно заполнен значениями. В основном мой dataframe Локс как этотКак добавить условные столбцы в pandas df
Origin X
0 Guatemala x
1 China x
2 Kenya x
3 Venezuela x
4 Bangladesh x
То, что я хочу сделать сейчас, это создать дополнительный столбец «Континент», который добавляет континент в зависимости от страны. Мой результат будет выглядеть следующим образом:
Origin X Continent
0 Guatemala x South america
1 China x Asia
2 Kenya x Africa
3 Venezuela x South america
4 Bangladesh x Asia
Я попытался следующие коды accieve то, что я хочу:
def GetContinents(x):
if x['Origin']== 'Thailand' or 'Indonesia' or 'China' or 'Japan' or 'Bangladesh':
return 'Asia'
elif x['Origin']== 'Boliva' or 'Guatemala' or 'Venezuela' or 'Mexico' or 'Argentinia':
return 'South America'
elif x['Origin']== 'Guinea Bissau' or 'Egypt' or 'Zaire' or 'Kenya':
return 'Africa'
else:
return 'unknown'
df['Continent']= df.apply(GetContinents, axis=1)
Это один заполняет все столбцы «континент» с «Азия» загадочно.
df['Continent'] = np.where(df['Origin'] == 'Bangladesh', 'Asia', 'unknown')
Это одна отлично работает в условиях, которые он заполняет «Азия» в правой колонке и неизвестно, во все другие, но когда я пытаюсь сделать что-то вроде df['Continent'] = np.where(df['Origin'] == 'Bangladesh' or 'China', 'Asia', 'unknown')
я получаю сообщение об ошибке.
Так что в основном мой вопрос: как я могу заполнить мое условие if с разными значениями?
Отлично! Спасибо также за объяснения, почему мой код не работал! –