我有以下格式的数据框。
1 2 3 4
Data
2001-07-30 0.363354 27.428261 14.639130 6.763423
... ... ... ... ...
2015-06-15 0.039085 28.562948 14.000722 8.605911
我想按月切片。因此,例如,我只想选择第 5 个月的数据并将其存储在一个新变量中。我找到了几个类似问题的答案。然而,这些并没有提供预期的结果。
这方面的问答示例:
- Pandas DataFrame slicing by day/hour/minute
- python pandas dataframe slicing by date conditions
- pandas, python - how to select specific times in timeseries
我不熟悉使用 Python 和 Pandas 进行时间序列分析,因此任何向正确方向的插入或阅读 Material 都将不胜感激。
最佳答案
datetimeindex
具有属性 month
访问,您可以使用它来过滤 df:
In [132]:
df = pd.DataFrame(index=pd.date_range(dt.datetime(2015,1,1), dt.datetime(2015,5,1)))
df.loc[df.index.month==2]
Out[132]:
Empty DataFrame
Columns: []
Index: [2015-02-01 00:00:00, 2015-02-02 00:00:00, 2015-02-03 00:00:00, 2015-02-04 00:00:00, 2015-02-05 00:00:00, 2015-02-06 00:00:00, 2015-02-07 00:00:00, 2015-02-08 00:00:00, 2015-02-09 00:00:00, 2015-02-10 00:00:00, 2015-02-11 00:00:00, 2015-02-12 00:00:00, 2015-02-13 00:00:00, 2015-02-14 00:00:00, 2015-02-15 00:00:00, 2015-02-16 00:00:00, 2015-02-17 00:00:00, 2015-02-18 00:00:00, 2015-02-19 00:00:00, 2015-02-20 00:00:00, 2015-02-21 00:00:00, 2015-02-22 00:00:00, 2015-02-23 00:00:00, 2015-02-24 00:00:00, 2015-02-25 00:00:00, 2015-02-26 00:00:00, 2015-02-27 00:00:00, 2015-02-28 00:00:00]
月份索引基于 1
,因此 5
将是 May
关于python-3.x - 按特定月份切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35202167/