2015-05-31 4 views
0

У меня есть DataFrame с только 1 строкой в ​​пандах.Получить значения из DataFrame в pandas

Строка имеет индекс/имя в качестве даты.

Я хочу получить эту дату и значение в 4-й колонке.

я могу получить значение 4-го столбца в этой одной строке с помощью

first_row = data.iloc[0] 
value = row[3] 

, но как можно получить соответствующую дату в этой строке?

Я пробовал first_row.index, но он не будет работать. Если я использую data.index, я получаю DatetimeIndex только с одним элементом, но не лучший ли код, если бы я мог получить индекс непосредственно из строки?

+0

К сожалению вы после того, как только 'df.index [0]' в этом случае? В общем случае, если вы используете целочисленную индексацию, то использование индекса integer для индекса в индекс возвращает значение индекса, дополнительно в вашем примере вы можете получить доступ к значению индекса с помощью 'first_row.name' – EdChum

ответ

2

У вас есть 2 варианта, если вы выполняете целочисленное индексирование в df, тогда использование того же целого числа для индексации в индекс вернет это значение.

Если вы выбрали определенную строку, вы можете получить доступ к значению индекса с помощью атрибута .name.

Пример:

In [3]: 
import io 
import pandas as pd  
t="""date,value 
2014/01/05,1515  
2014/02/05,15 
2014/05/05,1""" 
df=pd.read_csv(io.StringIO(t), parse_dates=[0], index_col=[0])  
df 

Out[3]: 

      value 
date    
2014-01-05 1515 
2014-02-05  15 
2014-05-05  1 

In [7]: 
df.index[1] 

Out[7]:  
Timestamp('2014-02-05 00:00:00') 

In [16]: 
df.iloc[1].name 

Out[16]  
Timestamp('2014-02-05 00:00:00') 
Смежные вопросы