import pandas as pd
df=pd.read_csv('<https://gist.githubusercontent.com/justmarkham/19241df07db2b93283fbb0cfe9c572f9/raw/f70931bd9f25c560b330f017f6933073c442c7ed/stocks.csv>')
df2=df.set_index(['Symbol','Date'])
df2.sort_index(inplace=True)
print(df2)
s = df.loc[ ('AAPL','2016-10-05') :('MSFT','2016-10-03') ]
print(s)
Мой DataFrame приведен ниже:
Close Volume
Symbol Date
AAPL 2016-10-03 112.52 21701800
2016-10-04 113.00 29736800
2016-10-05 113.05 21453100
CSCO 2016-10-03 31.50 14070500
2016-10-04 31.35 18460400
2016-10-05 31.59 11808600
MSFT 2016-10-03 57.42 19189500
2016-10-04 57.24 20085900
2016-10-05 57.64 16726400
У меня ниже 2 вопросов.
1) Мне нужно получить данные из последней строки в AAPL (т.е. date = '2016-10-05') до первой строки в MSFT (т.е. date = '2016-10-03'.
Я написал следующий код
df.loc [('AAPL','2016-10-05'):('MSFT','2016-10-03')]
Однако, Я получаю сообщение об ошибке: AssertionError: Ограничение начального фрагмента не является скалярным.
** Примечание. Мой код выше соответствует примеру документации: в [44] из здесь .
2) Во втором случае мне нужны данные из средней строки (т.е. дата 2016-10-04) CSCO до конца кадра данных (то есть все строки MSFT) и только столбец : Volume.
Спасибо, если вы укажете мне, где я ошибся.
Спасибо, Срикант