Pandas заполнить столбец с помощью условия

Есть файл с данными — https://github.com/Yorko/mlcourse.ai/blob/main/data/adult.data.csv

Задача

  1. добавить новую колонку «is-german» и заполнить ее признаком  False, если в колонке «native-country» стоит признак Germany
  2. добавить новую колонку «age-group» (Возрастная группа, и запонить ее даннными исходя из того, сколько лет указано в строке

Решение — их может быть несколько. Для того, чтобы выполнить задачи, смотрите на команды ниже.

1. Для начала необходимо импортировать библиотеки и прочитать данные в DataFrame

import pandas as pd
import numpy as np
df = pd.read_csv('adult.data.csv')

2. Для реализации можно использовать np.where

df['is-german'] = np.where(df['native-country'] == 'Germany', 1, 0)

3. np.select поможет для реализации задачи подсчета возрастной группы

conditions = [
    (df['age'] < 20),
    (df['age'] >= 20) & (df['age'] < 40),
    (df['age'] >= 40) & (df['age'] < 59),
    (df['age'] >= 60)
]

values = ['<20 years old', '20-39 years old', '40-59 years old', '60+ years old']
df['age-group'] = np.select(conditions, values)

Больше хитростей доступно по ссылкам здесь https://datagy.io/pandas-conditional-column/ и здесь https://www.dataquest.io/blog/tutorial-add-column-pandas-dataframe-based-on-if-else-condition/