Индексирование фрейма данных pandas по целому числу

Кажется, я не могу найти элегантный способ индексировать apandas.DataFrameпо целочисленному индексу. В следующем примере я хочу получить значение «a» из первого элемента столбца 'A'.

import pandas
df = pandas.DataFrame(
    {'A':['a','b', 'c'], 'B':['f', 'g', 'h']}, 
    index=[10,20,30]
    )

Я ожидаю, что df['A'].ix[0]и df['A'][10]оба вернут 'a'. df['A'][10]возвращает 'a', но df['A'].ix[0]выдает KeyError: 0. Единственный способ, который я мог придумать, чтобы получить значение 'a'на основе индекса 0, — это использовать следующий подход.

df['A'][df['A'].index[0]]

Есть ли более короткий способ получить 'a'из фрейма данных, используя индекс 0?

Обновление

Начиная с pandas 0.11 существует другой способ индексировать по целому числу .

df.iloc[0] # integer based, gives the first row
df.loc[10] # label based, gives the row with label 10

Этот заменяет подход irow.

11
задан piRSquared 5 January 2017 в 00:04
поделиться