2016-01-12 7 views
2

У меня есть следующий dataframe:Получить индекс строки по значению в колонке

 date   value 
0 2016-01-01 gfhgh 
1 2016-01-02 acgb 
2 2016-01-03 yjhgs 

Мне нужно получить индекс строки, где дата является предустановленным значением. Например, для 2016-01-02 мне нужно получить 1. Каждая дата будет уникальной.

ответ

1

IIUC вы можете использовать:

print df 
     date value 
0 2016-01-01 gfhgh 
1 2016-01-02 acgb 
2 2016-01-03 yjhgs 

print df[df['date'] == pd.to_datetime('2016-01-02')].index.tolist() 
[1] 
2

Вы должны использовать индекс для того, что он там: Доступ к данным.

Просто введите текущий индекс в фреймворк данных, затем установите индекс в дату и используйте .loc, чтобы получить нужный номер.

  date value 
0 2016-01-01 gfhgh 
1 2016-01-02 acgb 
2 2016-01-03 yjhgs 

In [4]: df.reset_index(inplace=True) 

In [5]: df.set_index('date', inplace=True) 

In [6]: df.loc['2016-01-02','index'] 
Out[6]: 1 

В случае, если вы хотите, чтобы вся строка, просто оставить из , 'index' части

In [7]: df.loc['2016-01-02'] 
Out[7]: 
index  1 
value acgb 
Name: 2016-01-02, dtype: object 
1

Предполагая, что поле даты является строкой:

df[df.date == '<the date value whose index you want>'].index.tolist() 

будет возвращать список индексов дата которого равна дате, указанной вами

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