pandas period_range - 获得对
pandas period_range - gaining access to the
pd.period_range(start='2017-01-01', end='2017-01-01', freq='Q')
给了我以下内容:
PeriodIndex(['2017Q1'], dtype='period[Q-DEC]', freq='Q-DEC')
我想获得“2017Q1”的访问权限,将其放入数据框中的不同列中。
我有一个包含日期的日期列,例如 1/1/2017。我还有其他列,我想在其中放置按期间范围计算的字符串。这似乎是用财政季度更新列的有效方法。我似乎无法访问它。它不可订阅,即使我将它分配给一个变量,我也无法获取它。只是想知道我错过了什么。
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
pd.period_range(start='2017-01-01', end='2017-01-01', freq='Q')
给了我以下内容:
PeriodIndex(['2017Q1'], dtype='period[Q-DEC]', freq='Q-DEC')
我想获得“2017Q1”的访问权限,将其放入数据框中的不同列中。
我有一个包含日期的日期列,例如 1/1/2017。我还有其他列,我想在其中放置按期间范围计算的字符串。这似乎是用财政季度更新列的有效方法。我似乎无法访问它。它不可订阅,即使我将它分配给一个变量,我也无法获取它。只是想知道我错过了什么。
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