確保Quarter
是一個時段列
df.Quarter = pd.PeriodIndex(df.Quarter, freq='Q')
使用pd.period_range
建立一個新的索引,然後reindex
idx = pd.period_range(df.Quarter.min(), pd.datetime.now(), freq='Q')
df.set_index('Quarter').reindex(idx, method='ffill').reset_index()
index Name Value
0 2016Q4 A 2
1 2017Q1 B 3
2 2017Q2 C 1
3 2017Q3 C 1
是超級安全,只有從增加新的索引值目前最新的季度到現在
pidx = pd.PeriodIndex(df.Quarter, freq='Q')
nidx = pd.period_range(pidx.max(), pd.datetime.now(), freq='Q')
df.Quarter = pidx
df.set_index('Quarter').reindex(pidx.union(nidx), method='ffill').reset_index()
index Name Value
0 2016Q4 A 2
1 2017Q1 B 3
2 2017Q2 C 1
3 2017Q3 C 1