在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獲取最後一個日期? 我錯過了什麼,或者這是一個錯誤?