澄清,我实际上需要返回多个月,例如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
答案 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])