pandas period_range - получение доступа к - PullRequest
0 голосов
/ 28 сентября 2019

pd.period_range(start='2017-01-01', end='2017-01-01', freq='Q') дает мне следующее: PeriodIndex(['2017Q1'], dtype='period[Q-DEC]', freq='Q-DEC')

Я хотел бы получить доступ к '2017Q1', чтобы поместить его в другой столбец в кадре данных.

У меня естьстолбец даты с датами, например, 01.01.2017.У меня есть другой столбец, где я хотел бы поместить строку, рассчитанную по диапазону периода.Похоже, что это был бы эффективный способ обновить колонку финансовым кварталом.Я не могу получить к нему доступ.Это не по подписке, и я не могу получить это, даже когда я назначаю его переменной.Просто интересно, чего мне не хватает.

1 Ответ

0 голосов
/ 28 сентября 2019

pandas.PeriodIndex:

  • Вы были почти там.Его просто нужно присвоить столбцу
import numpy as np
from datetime import timedelta, datetime
import pandas as pd


# list of dates - test data
first_date = datetime(2017, 1, 1)
last_date = datetime(2019, 9, 20)
x = 4
list_of_dates = [date for date in np.arange(first_date, last_date, timedelta(days=x)).astype(datetime)]


# create the dataframe
df = pd.DataFrame({'dates': list_of_dates})

     dates
2017-01-01
2017-01-05
2017-01-09
2017-01-13
2017-01-17

df['Quarters'] = pd.PeriodIndex(df.dates, freq='Q-DEC')

Вывод:

print(df.head())

     dates Quarters
2017-01-01   2017Q1
2017-01-05   2017Q1
2017-01-09   2017Q1
2017-01-13   2017Q1
2017-01-17   2017Q1

print(df.tail())

     dates Quarters
2019-08-31   2019Q3
2019-09-04   2019Q3
2019-09-08   2019Q3
2019-09-12   2019Q3
2019-09-16   2019Q3
...