TGViewer
Мир аналитика данных Мир аналитика данных @analysts_world · 4.56K subscribers
Post #67 2.33K
🔤🔤🔤🔤🔤 Где же ты, где или np.where()

Недавно открыла для себя использование np.where(). np – это numpy.
Покажу на простых примерах как его можно использовать. Создадим датафрейм. Не забываем import numpy as np Ну и как всегда import pandas as pd

df = pd.DataFrame({'Name': ['Дмитрий', 'Антон', 'Арсений', 'Сергей','Катерина'],
'Age': [38, 32, 40, 39, 37],
'Gender': ['M', 'M', 'M', 'M','F']})

Хочу создать столбец, основываясь на данных столбца Age:
📍 Если возраст старше или равен 35, то пусть в строке будет написано 'Старше 35', в противном случае - 'Моложе 35'
df['check_where_одно_условие'] = np.where(df.Age >=35, 'Старше 35', 'Моложе 35')

📍 Можно поставить два условия и больше. Если возраст старше или равен 35 и пол смотрим только мужской - M
df['check_where_два_условия'] = np.where((df.Age >=35)&(df.Gender == 'M'), 'Мужчина старше 35', 'нет')

Напротив Катерины в столбце 'check_where_два_условия' будет написано ‘нет’, так как оба условия одновременно не выполняются. Возраст старше 35, а вот пол женский - (df.Age >=35)&(df.Gender == 'M')

📍 Хотим рассчитать возраст через 3 года при условии, что это мужчина. Удобно, что посчитать что-то можно, не только текст вписать.
df['check_where_расчетное'] = np.where(df.Gender == 'M', df.Age+3, df.Age)

Мы также можем установить значения DataFrame, используя атрибут loc[].
df.loc[df.Age >=35, 'check_loc'] = 'да'
Но тогда там, где условие не выполняется будут пропуски – NaN. Как вариант, заполнить потом эти пропуски нулями.

В этом плане np.where() удобен тем, что можно сразу поставить, что будет прописано и при выполнении условия и при НЕ выполнении.
  • 👍 14
  • 🔥 5
  • ❤ 3
More from @analysts_world
  1. Sep 21, 2026📊 Задачка с собеседования Ну что, по итогам голосования большинство хотят задачки и sql.…
  2. Sep 14, 2026Post #345
  3. Sep 14, 2026Что-то я тут прям зачастила с A/B тестами 😅 Смотрю на последние посты и такое чувство, чт…
  4. Sep 1, 2026🎒 С 1 сентября, друзья! Сегодня как раз отправила своих детей в школу – и вот это чувство…
  5. Aug 24, 2026Вне выборки Обычно здесь про SQL, Python и AB-тесты. Но не всё, что важно, попадает в выбо…
  6. Aug 20, 2026Fuckup Night от создателей Trisigma, Ares и karpov.courses Согласитесь, ивенты, где все де…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →