使用python日期时间返回任何年份的特定日期,月份

时间:2017-11-10 18:00:39

标签: python pandas datetime dataframe

澄清,我实际上需要返回多个月,例如10月到12月。

我有一个包含10000行的数据帧,其中我的索引是time_stamp。我想获得数据帧中所有年份的特定月份之间的值。

我已尝试过:print(df.loc['%Y-10-01':'%Y-12-31'])以及YYYY****%y,但我无法弄清楚如何返回匹配的日期时间对象任何一年。

数据框df看起来像这样:

2015-07-13  0.000000    0.000000    0.000000    0.000000    0.000000    0.000000    0.000000    17.018001   0.000000    0.000000    0.000000
2017-07-27  0.000000    1.016000    0.000000    0.000000    0.000000    0.000000    0.000000    0.000000    0.000000    0.000000    0.000000
2017-07-03  1.778000    12.700000   3.048000    7.874000    5.588000    2.540000    28.448001   26.670000   58.420003   19.812001   12.446000

1 个答案:

答案 0 :(得分:1)

对于您的特定问题,似乎对isin一系列月份的检查是最简单的:

df.iloc[df.index.month.isin(np.r_[10:13])]

np.r_可以方便地指定间歇范围。例如,如果您想要Jan-Feb,April和Oct-Dec,请使用:

i = np.r_[1:3, 4, 10:13]

i
array([ 1,  2,  4, 10, 11, 12])