'Передача списков лайков в .lo c в pandas - PullRequest
0 голосов
/ 09 июля 2020

У меня есть следующий список дат:

date_list 
DatetimeIndex(['2015-07-10', '2015-07-13', '2015-07-14', '2015-07-15',
               '2015-07-16', '2015-07-17', '2015-08-20', '2015-09-21',
               '2015-09-22', '2015-09-23']

Чтобы получить доступ к значению строк в pandas для этих дат, я сделал следующее:

df['Close'].loc[dates_list]

Это дает следующее ошибка:

KeyError: 'Passing list-likes to .loc or [] with any missing labels is no longer supported

Как я могу получить значения строк для этих DateTtimeindex

1 Ответ

1 голос
/ 09 июля 2020

Работает как шарм:

df.loc[date_list, 'Close']

Тестовый пример, основанный на том, что вы предоставили - не стесняйтесь уточнить детали, если что-то не так по сравнению с вашим вариантом использования:

import pandas as pd

date_list=pd.DatetimeIndex(['2015-07-10', '2015-07-13', '2015-07-14', '2015-07-15',
               '2015-07-16', '2015-07-17', '2015-08-20', '2015-09-21',
               '2015-09-22', '2015-09-23'])

df=pd.DataFrame({'Close': list("abcdefghijklmnoprstuvwxyz"), 'dt': ['2015-07-10', '2015-07-13', '2015-07-14', '2015-07-15','2017-01-01','2017-01-03','2015-07-01','2005-09-07', '2018-02-04',
               '2015-07-16', '2015-07-17', '2015-08-20', '2015-09-21','2019-04-06','2002-04-07','2002-05-19',
               '2015-09-22', '2015-09-23','2020-07-07', '2020-06-08', '2018-02-01', '2000-04-04', '2001-09-09', '2008-08-03', '2008-09-01']})
df['dt']=pd.to_datetime(df['dt'])
df=df.set_index('dt')
res=df.loc[date_list, 'Close']

>>> res

2015-07-10    a
2015-07-13    b
2015-07-14    c
2015-07-15    d
2015-07-16    j
2015-07-17    k
2015-08-20    l
2015-09-21    m
2015-09-22    r
2015-09-23    s
Name: Close, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...