Избегайте алфавитного порядка в загрузках Python - PullRequest
0 голосов
/ 23 ноября 2018

Я загружаю данные из yahoo finance, и они загружаются в алфавитном порядке.Не так, как я посылаю список.Как этого избежать?

STOCKS= ['^TNX', '^VIX', 'SPY', 'QQQ', 'DIA', '^FTSE', '^GDAXI', '^HSI', '^N225',
    'XLC', 'XLY', 'XLP', 'XLE', 'XLF', 'XLV', 'XLI', 'XLB', 'XLRE', 'XLK', 'XLU',
     'USO', 'GLD', 'SIL', 'CPER', 'PALL', 'LIT', 'URA', 'REMX', 'OYB', 'CORN', 'CANE', 'TAGS', 'WEAT']



start_date = '2016-06-01'
end_date = '2018-06-01'

extras_data = fyf.download(STOCKS, start_date, end_date)['Close']
print(extras_data)

что вернулось:

     CANE       CORN    ...       ^TNX       ^VIX

Дата ...
2016-05-31 11.50 22.139999 ... 1.834 14.190000 2016-06-01 11.56 22.610001 ... 1.846 14.200000 2016-06-02 11.85 22.549999 ... 1.811 13.630000 2016-06-03 12.13 22.760000 ... 1.704 13.470000

Столбцы расположены в алфавитном порядке, я хочу соблюдать списокзаказ.

1 Ответ

0 голосов
/ 23 ноября 2018

Вот как бы я это сделал.

"your code here"

#after pulling the data from fyf. This will check what
#actual stocks were pulled and put it in a list

sorted_columns = [STOCK for STOCK in STOCKS if STOCK in extras_data.columns]

#then I use those columns to re-sort the dataframe from fyf
print(extras_data.loc[:,sorted_columns])

#or you can store it back to itself
extras_data = extras_data.loc[:,sorted_columns]
...