我正在試驗iloc方法。根據文檔,布爾數組是一個允許的輸入。使用布爾數組調用iloc()
我理解這一點的方式是,如果我有一個帶有值F,T,T,T和值的布爾數組idx,我將它作爲輸入傳遞如下:df.iloc(:,idx)然後我將得到df的第2,3和4列(假設df有4列)。
我試圖實現這一點,但我遇到了錯誤。
作爲一個例子,我有一個數據幀DF
col1 col2 col3 col4
0 1 2 3 4
1 5 6 7 8
我也有一個熊貓布爾系列:
idx = pd.Series(['False', 'True', 'True', 'True'])
我布爾系列轉換爲布爾np.array:
idx = idx.values
然後我把它傳給iloc
df.iloc[: , idx]
我得到的錯誤信息:
IndexError: positional indexers are out-of-bounds
我不理解,因爲數據幀有4列,我通過4個布爾值。
您的幫助將不勝感激。
更改'idx'中的字符串值爲布爾值:'pd.Series([False,True,True,True])' – enneppi