Кажется, я не могу найти элегантный способ индексировать 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
.