2016-01-09 4 views
0

Следующий код дает тот же результат. Могу ли я использовать оба варианта? У меня возникнут проблемы позже?Pandas, позиция iloc in df

Спасибо

Method1: df.iloc[0]['A'] 

Method2: df['A'].iloc[0] 
+0

Там же, это просто вопрос вкуса и удобочитаемости – EdChum

+0

Обратите внимание, что они будут * не * всегда быть эквивалентными при установке значения с помощью этих конструкций. Но для получения ценности это безопасно. – joris

+0

@joris Я не получаю предупреждения о настройке на обоих, я бы ожидал, что первая версия будет стонать, но это не было – EdChum

ответ

2

Результат в обоих случаях одно и то же, как предложено. Но было бы полезно, чтобы сделать этот процесс максимально ясным. В вашем случае вы сначала генерируете объект Series, а затем выбираете один его элемент.

  • df.iloc[0]['A'] #1st. generate Series: row with index 0., 2nd. pick element 'A'
  • df['A'].iloc[0] #1st. generate Series: col with name 'A'., 2nd. pick element 0

Даже если вы попросили iloc, если вы хотите просто выбрать значение, я хотел бы пойти на df.loc [0, 'A']. Это так или иначе соответствует матричной нотации. Выберите строку = 0 и col = 'A' из матрицы df.

Смежные вопросы