Pandas мультииндекс, иерархический индекс - PullRequest
0 голосов
/ 16 апреля 2020
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.

Спасибо, если вы укажете мне, где я ошибся.

Спасибо, Срикант

...