我有这样的数据框架。
value estimated \
dttm_timezone
2011-12-31 20:10:00 10.7891 0
2011-12-31 20:15:00 11.2060 0
2011-12-31 20:20:00 19.9975 0
2011-12-31 20:25:00 15.9975 0
2011-12-31 20:30:00 10.9975 0
2011-12-31 20:35:00 13.9975 0
2011-12-31 20:40:00 15.9975 0
2011-12-31 20:45:00 11.7891 0
2011-12-31 20:50:00 10.9975 0
2011-12-31 20:55:00 10.3933 0
通过使用 dttm_timezone 列信息,我想提取所有在天或周或a 内的行的月
我有1年的数据,所以如果我选择日期作为持续时间我应该分别提取365天数据,如果我选择月份,那么我应该分别提取12个月的数据。
我怎样才能做到这一点?
答案 0 :(得分:3)
让我们使用
import pandas as pd
import numpy as np
tidx = pd.date_range('2010-01-01', '2014-12-31', freq='H', name='dtime')
np.random.seed([3,1415])
df = pd.DataFrame(np.random.rand(len(tidx)), tidx, ['value'])
您可以这样限制为'2010'
:
df['2010']
或者
df[df.index.year == 2010]
您可以通过以下方式限制特定月份:
df['2010-04']
或所有Aprils:
df[df.index.month == 4]
您可以限制在特定日期:
df['2010-04-28']
所有下午1点' s:
df[df.index.hour == 13]
日期范围:
df['2011':'2013']
或
df['2011-01-01':'2013-06-30']
有很多方法可以做到这一点:
df.loc[(df.index.month == 11) & (df.index.hour == 22)]
链接---> The list can go on and on. Please read the docs< --- link