【问题标题】:How to filter DateFrameGroupBy object by datetime index如何按日期时间索引过滤 DateFrameGroupBy 对象
【发布时间】:2014-04-02 22:36:06
【问题描述】:

我有一个带有日期时间索引的单列数据。我可以使用

按年和月对数据框进行分组
grouped = data.groupby([lambda x: x.year, lambda x: x.month])

例如,我想知道如何提取包含特定月份值的子组。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    如果您想要的只是特定月份的数据,您可以这样做:

    data[data.index.month == 2]
    

    【讨论】:

      【解决方案2】:

      月份和年份是 DatetimeIndex 的属性,所以你可以这样做:

      df.groupby([df.index.year, df.index.month])
      

      听起来你可能在resample:

      df.resample('M')  # default how='mean'
      

      您可以使用 TimeGrouper 更简洁地按月(和年)分组(IIRC 这是内部进行重新采样的方式):

      df.groupby(pd.TimeGrouper('M'))
      

      您必须等到 pandas 0.14 才能将其与其他列组合。

      【讨论】:

      • 时间序列在 pandas 中确实很强大。谢谢。
      猜你喜欢
      • 2021-10-24
      • 2018-02-25
      • 2022-07-16
      • 2013-10-20
      • 1970-01-01
      • 2021-10-09
      • 2015-09-21
      • 1970-01-01
      • 2021-09-01
      相关资源
      最近更新 更多