2014-10-29 13 views
30

Więc zakładam mam dataframe z rownames które nie są kolumny własnych per se, takie jak:Pandon Pythas: Jak uzyskać nazwy wierszy z indeksu ramki danych?

 X Y 
Row 1 0 5 
Row 2 8 1 
Row 3 3 0 

Jak wyodrębnić te nazwy wierszy w postaci listy, jeśli mam swój indeks? Na przykład, byłoby to wyglądać mniej więcej tak:

function_name(dataframe[indices]) 
> ['Row 1', 'Row 2'] 

dzięki za pomoc!

Odpowiedz

52
df.index 

wyprowadza nazwy rzędu, jak PANDAS Index obiektu. Dla listy

list(df.index) 

wreszcie indeks obsługuje etykiety krojenie podobna do kolumn

df.index['Row 2':'Row 5'] 
1

jeśli chcesz uzyskać wartości indeksu, można po prostu zrobić:

dataframe. indeks

spowoduje wyświetlenie pliku pandas.core.index

4

Jeśli chcesz wyciągnąć jedynie wartości indeksu dla pewnych liczb całkowitych oparte wierszy indeksów, można zrobić coś jak następuje za pomocą metody iloc:

In [28]: temp 
Out[28]: 
     index     time complete 
row_0  2 2014-10-22 01:00:00   0 
row_1  3 2014-10-23 14:00:00   0 
row_2  4 2014-10-26 08:00:00   0 
row_3  5 2014-10-26 10:00:00   0 
row_4  6 2014-10-26 11:00:00   0 

In [29]: temp.iloc[[0,1,4]].index 
Out[29]: Index([u'row_0', u'row_1', u'row_4'], dtype='object') 

In [30]: temp.iloc[[0,1,4]].index.tolist() 
Out[30]: ['row_0', 'row_1', 'row_4'] 
2

To wydaje się działać prawidłowo:

dataframe.axes [0] .tolist()

+0

To nie daje odpowiedzi na pytanie. Po uzyskaniu wystarczającego [reputation] (http://stackoverflow.com/help/whats-reputation) będziesz mógł [comment] (http://stackoverflow.com/help/privileges/comment) w dowolnym poście. Sprawdź również to [co mogę zrobić zamiast tego] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). – thewaywewere

Powiązane problemy