Как по столбцу с датой создать второй, который будет отражать содержание первого?

На основе столбца 'Date' нужно создать столбец, который будет писать

  • 1 если дата 25 число месяца и больше (до 30, 31-го);
  • 0 если дата с 1 по 24 число.

То есть рядом с датами из примера будут нули

Пример даты

Подскажите, как правильно это можно сделать?


Ответы (2 шт):

Автор решения: CrazyElf

Что-то типа такого:

df['flag'] = (df['Date'].dt.day >= 25).astype(int)
→ Ссылка
Автор решения: strawdog
import pandas as pd

df = pd.DataFrame({"Date": pd.date_range(start='2001-01-01', freq='1d', periods=30)})
df["new"] = np.where(df["Date"].dt.day>=25, 1, 0)

df:

         Date  new
0  2001-01-01    0
1  2001-01-02    0
2  2001-01-03    0
3  2001-01-04    0
4  2001-01-05    0
5  2001-01-06    0
6  2001-01-07    0
7  2001-01-08    0
8  2001-01-09    0
9  2001-01-10    0
10 2001-01-11    0
11 2001-01-12    0
12 2001-01-13    0
13 2001-01-14    0
14 2001-01-15    0
15 2001-01-16    0
16 2001-01-17    0
17 2001-01-18    0
18 2001-01-19    0
19 2001-01-20    0
20 2001-01-21    0
21 2001-01-22    0
22 2001-01-23    0
23 2001-01-24    0
24 2001-01-25    1
25 2001-01-26    1
26 2001-01-27    1
27 2001-01-28    1
28 2001-01-29    1
29 2001-01-30    1
​
→ Ссылка