Как извлечь конкретный c месяц и день из всех лет в Pandas? - PullRequest
1 голос
/ 21 июня 2020

Мой набор данных выглядит так

            CPI
DATE    
1950-01-01  NaN
1950-02-01  1.004254
1950-03-01  1.005530
1950-04-01  1.005955
1950-05-01  1.011059
... ...
2020-01-01  1.001455
2020-02-01  1.002345
2020-03-01  0.998100
2020-04-01  0.990164
2020-05-01  0.989646

Я хотел бы извлекать все данные из «XXXX-01-01» каждый год. И поместите их в новый набор данных. Может ли кто-нибудь привести пример, как это сделать?

Ответы [ 2 ]

2 голосов
/ 21 июня 2020

Вы можете попробовать:

new_df = df.loc[(df.DATE.dt.month == 1) & (df.DATE.dt.day == 1)]
0 голосов
/ 21 июня 2020

Вы можете использовать query также

df.query("index.dt.month.eq(1) and index.dt.day.eq(1)")

Предполагая, что у вас есть индекс типа Datetimeindex, если сначала не преобразовать его Datetimeindex, используя df.index = pd.to_datetime(df.index)

...