Как получить строки данных из столбцов между двумя другими столбцами? - PullRequest
3 голосов
/ 08 апреля 2020

Я хочу столбцы данных между двумя индексами, endDate и totalCurrentAssets, но исключая их. Поэтому я попробовал с .iloc:

>>>ticker.balance_sheet().loc[:, 'endDate':'totalCurrentAssets']

        endDate     cash    shortTermInvestments    netReceivables  inventory   otherCurrentAssets  totalCurrentAssets
symbol  row                             
MSFT    0   2019-06-30  11356000000     122476000000    29524000000     2063000000  10133000000     175552000000
1   2018-06-30  11946000000     121718000000    26481000000     2662000000  6855000000  169662000000
2   2017-06-30  7663000000  125238000000    22431000000     2181000000  5183000000  162696000000
3   2016-06-30  6510000000  106531000000    18277000000     2251000000  6091000000  139660000000

Ответы [ 2 ]

3 голосов
/ 08 апреля 2020

Одним из способов может быть связывание loc с iloc для получения следующего среза:

df.loc[:,'endDate':'totalCurrentAssets'].iloc[:,1:-1]

Или вы также можете использовать Index.get_loc:

cols = df.columns
df.iloc[:, cols.get_loc('endDate')+1 : cols.get_loc('totalCurrentAssets')]
2 голосов
/ 08 апреля 2020

Начните с получения целого числа индексов (чисел) рассматриваемых столбцов:

n1 = df.columns.get_loc('endDate')
n2 = df.columns.get_loc('totalCurrentAssets')

Затем используйте ilo c с этими индексами, соответственно исправленными :

df.iloc[:, n1 + 1 : n2]

Этот столбец времени с целым числом n2 будет не извлечен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...