python - Pandas 在 DF 中选择年终季度

标签 python pandas

我对一个 DF 重新采样以生成一个按季度求和的 DF,(我很高兴我能做到这一点 :-))现在我只想要每年的最后一个季度(我将计算变化百分比)从前一年)。 df 看起来像(但到 2012 年......);所以我想要一个包含所有日期且仅包含 12-31 日期的 DF?

            Units
date    
2000-06-30   6120
2000-09-30   7346
2000-12-31   5925
2001-03-31   7542
2001-06-30   9916
2001-09-30   9547
2001-12-31   8063

最佳答案

确保您的索引是 DatetimeIndex:

In [0]: df.index = pd.DatetimeIndex(df.index)

现在您可以从索引中提取各种信息并将其用于对原始数据框进行子集化:

In [1]: df.ix[df.index.quarter == 4]
Out[1]:
            Units
2000-12-31   5925
2001-12-31   8063

计算季度环比变化:

In [2]: curr = df.ix[df.index.quarter == 4]
In [3]: prev = df.ix[df.index.quarter == 4].shift()
In [4]: curr/prev
Out[4]:
               Units
2000-12-31       NaN
2001-12-31  1.360844

关于python - Pandas 在 DF 中选择年终季度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529147/

相关文章:

python - 使用 Django/PyISAAPIe/IIS 时大型 POST 数据会损坏

python - 将带有 docker 的 flask 应用程序部署到 heroku 时出现错误 R10

python - 如何将 pandas DataFrame 结果转换为用户定义的 json 格式

python - 类型错误 : string indices must be integer

python - Pandas 不断从 HTML 输入中创建列表而不是 DataFrame

python - ModuleNotFoundError : No module named 'face_recognition'

python - Django:检查列表中是否存在行

python - 洗牌列表,但保持一些元素卡住

python-3.x - 忽略 NaN 的两个 DataFrame 的元素最大值

python - 摘要行或数据框