在Pandas中,我试图在数据框中过滤出具有特定日期(设置为多索引的第一级)的行。pandas - 多索引片不按预期调整索引值
一旦过滤,我想检查第一个级别的最后一个索引值是否与我最近的日期匹配。但是,我不能让熊猫得到正确的价值。
一个例子可能会有所帮助。我先用多指标创建原始DF:
index = pd.date_range('2016-01-01', freq='B', periods=10), ["AAPL", "GOOG"]
df = pd.DataFrame(index=pd.MultiIndex.from_product(index))
print df
然后我过滤掉特定日期:
start, end = df.index.levels[0][1], df.index.levels[0][-4]
print start, end
现在,我创造我的过滤DF仅包括日期从开始到结束:
df2 = df.loc[start:end]
df2
看起来很好,正如预期的那样。 “01/12/2016”是我最后的索引日期。
然后,当我检查第一级(0)的最后一个索引值时,它将返回“01/14/16”而不是我选择的结束日期(“01/12/2016”)。
print df2.index.levels[0][-1]
如何从df2获取最后一个日期? 我错过了什么,或者这是一个错误?