两个年度季度之间的差异
Difference between two year-quarter in quarter
我有一个日期栏。我想获得每个日期的财政季度与最大财政季度之间的差异。我就是这样做的:
date = pd.Series(['2019-01-01', '2019-03-01', '2019-07-01', '2020-03-01'])
date = pd.to_datetime(date)
year_quarter = pd.PeriodIndex(date, freq='Q-JAN')
max_year_quarter = year_quarter.max()
print(year_quarter)
print(max_year_quarter)
输出:
year_quarter
PeriodIndex(['2019Q4', '2020Q1', '2020Q2', '2021Q1'], dtype='period[Q-JAN]', freq='Q-JAN')
max_year_quarter
Period('2021Q1', 'Q-JAN')
如果我 运行 max_year_quarter - max_year_quarter
,输出将是:
Index([<5 * QuarterEnds: startingMonth=1>, <4 * QuarterEnds: startingMonth=1>,
<3 * QuarterEnds: startingMonth=1>, <0 * QuarterEnds: startingMonth=1>],
dtype='object')
而预期输出是:
[5, 4, 3, 0]
这是每个日期与 max_year_quarter 之间的季度数。感谢您的帮助。
这将导致季度数:
Difference = max_year_quarter - year_quarter
Difference_in_Quarter = (max_year_quarter - year_quarter).map(lambda x: x.n)
输出:
0 5
1 4
2 3
3 0
dtype: int64
使用 Period.ordinal
作为整数 repr 并通过将 PeriodIndex
的值转换为整数来减去:
Difference_in_Quarter = max_year_quarter.ordinal - year_quarter.astype(int)
print (Difference_in_Quarter)
Int64Index([5, 4, 3, 0], dtype='int64')
我有一个日期栏。我想获得每个日期的财政季度与最大财政季度之间的差异。我就是这样做的:
date = pd.Series(['2019-01-01', '2019-03-01', '2019-07-01', '2020-03-01'])
date = pd.to_datetime(date)
year_quarter = pd.PeriodIndex(date, freq='Q-JAN')
max_year_quarter = year_quarter.max()
print(year_quarter)
print(max_year_quarter)
输出:
year_quarter
PeriodIndex(['2019Q4', '2020Q1', '2020Q2', '2021Q1'], dtype='period[Q-JAN]', freq='Q-JAN')
max_year_quarter
Period('2021Q1', 'Q-JAN')
如果我 运行 max_year_quarter - max_year_quarter
,输出将是:
Index([<5 * QuarterEnds: startingMonth=1>, <4 * QuarterEnds: startingMonth=1>,
<3 * QuarterEnds: startingMonth=1>, <0 * QuarterEnds: startingMonth=1>],
dtype='object')
而预期输出是:
[5, 4, 3, 0]
这是每个日期与 max_year_quarter 之间的季度数。感谢您的帮助。
这将导致季度数:
Difference = max_year_quarter - year_quarter
Difference_in_Quarter = (max_year_quarter - year_quarter).map(lambda x: x.n)
输出:
0 5
1 4
2 3
3 0
dtype: int64
使用 Period.ordinal
作为整数 repr 并通过将 PeriodIndex
的值转换为整数来减去:
Difference_in_Quarter = max_year_quarter.ordinal - year_quarter.astype(int)
print (Difference_in_Quarter)
Int64Index([5, 4, 3, 0], dtype='int64')