2016-04-04 18 views
2

Pandalarda indekslemeye bakarken, yeterince basit olması gereken bazı sorularım vardı. df yeterince uzun bir DataFrame ise, df[1:2] ikinci satırı verir, ancak, df[1] bir hata verir ve df[[1]] ikinci sütunu verir. Neden?Pandalar indeksleme karışıklığı

+0

"df [x]" ifadesini kullandığınızda, bu etiket içeren bir sütun arar, bu etiket mevcut olmadığından bir "KeyError" kaldırdı, dilimleme notasyonu satır etiketi araması yapar, sonuncusu biraz şaşırtıcıdır Çalıştığını beklemeyeceğim bir şey olan sütunlarda bir dizin olarak yinelenen değeri kullanılır. Genelde satır etiket seçimi için 'loc', tamsayı satır tabanlı seçim için iloc ve' df [x] 'veya belirsizlikten kaçınmak için sütun seçimini yapmak için df [list_of_cols]' sütun adlarının listesini kullanmalısınız. – EdChum

cevap

0

Kontrol dışarı dataframe için dilim satırlar dataframe ait[] operatörü içindeki dilimleme kullanarak Pandalar indeksleme belgelerine here, bu Gördüğünüz davranışı açıklamalıdır.

1

Veri çerçevesinin ikinci sırasını seçmek için df.iloc[1] kullanın (sıfır tabanlı dizinleme kullanır). İkinci sütunu seçmek için df.iloc[:, 1] kullanın (tüm satırları seçmek için : dilim gösterimidir).