Существует множество случаев, когда мне нужно вывести экземпляр панели pandas размером с светлый размер для последующего использования. В настоящее время я храню его как объект рассола, так как pandas.read_pickle может напрямую извлекать его как объект Panel. Но есть две ошибки в этом: во-первых, я должен всегда отмечать в имени файла, что это объект Panel, иначе я могу забыть. Во-вторых, имеет ли это риск в будущем? Например, будущие версии pandas могут не поддерживать это, и я могу потерять доступ к данным в качестве прямой панели? Каковы другие альтернативные способы безопасного хранения объекта Panel, в то время как его будет легко читать снова непосредственно в виде панели? Я мог бы также написать панель в формате excel, но мне нужно прочитать элемент Dataframes один за другим и объединить их снова в Panel, когда я получу данные.Как сохранить экземпляр панели pandas?
2
A
ответ
2
вы можете использовать HDF в качестве хранилища.
Демо:
Давайте генерировать панель с финансовыми данными:
import pandas as pd
import pandas_datareader.data as wb
stocks = ['AAPL', 'GOOG', 'FB']
p = wb.DataReader(stocks, 'yahoo', '2016-01-01')
теперь мы имеем следующую панель:
In [10]: p.axes
Out[10]:
[Index(['Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close'], dtype='object'),
DatetimeIndex(['2016-01-04', '2016-01-05', '2016-01-06', '2016-01-07', '2016-01-08', '2016-01-11', '2016-01-12', '2016-01-13', '2016-01-14',
'2016-01-15',
...
'2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10', '2017-02-13', '2017-02-14',
'2017-02-15'],
dtype='datetime64[ns]', name='Date', length=283, freq=None),
Index(['AAPL', 'FB', 'GOOG'], dtype='object')]
Сохранение его hdf5 файл:
In [12]: p.to_hdf('c:/temp/panel.h5', 'p', format='t')
Che ck:
In [13]: store = pd.HDFStore('c:/temp/panel.h5')
In [14]: store
Out[14]:
<class 'pandas.io.pytables.HDFStore'>
File path: c:/temp/panel.h5
/p wide_table (typ->appendable,nrows->849,ncols->6,indexers->[major_axis,minor_axis])
In [15]: store.get_storer('p')
Out[15]: wide_table (typ->appendable,nrows->849,ncols->6,indexers->[major_axis,minor_axis])
In [16]: store.get_storer('p').table
Out[16]:
/p/table (Table(849,)) ''
description := {
"major_axis": Int64Col(shape=(), dflt=0, pos=0),
"minor_axis": StringCol(itemsize=4, shape=(), dflt=b'', pos=1),
"values_block_0": Float64Col(shape=(6,), dflt=0.0, pos=2)}
byteorder := 'little'
chunkshape := (1092,)
autoindex := True
colindexes := {
"major_axis": Index(6, medium, shuffle, zlib(1)).is_csi=False,
"minor_axis": Index(6, medium, shuffle, zlib(1)).is_csi=False}
In [17]: x = store['p']
In [18]: x
Out[18]:
<class 'pandas.core.panel.Panel'>
Dimensions: 6 (items) x 283 (major_axis) x 3 (minor_axis)
Items axis: Open to Adj Close
Major_axis axis: 2016-01-04 00:00:00 to 2017-02-15 00:00:00
Minor_axis axis: AAPL to GOOG
In [20]: x.loc[:,:,'GOOG']
Out[20]:
Open High Low Close Volume Adj Close
2016-01-04 743.000000 744.059998 731.257996 741.840027 3272800.0 741.840027
2016-01-05 746.450012 752.000000 738.640015 742.580017 1950700.0 742.580017
2016-01-06 730.000000 747.179993 728.919983 743.619995 1947000.0 743.619995
2016-01-07 730.309998 738.500000 719.059998 726.390015 2963700.0 726.390015
2016-01-08 731.450012 733.229980 713.000000 714.469971 2450900.0 714.469971
2016-01-11 716.609985 718.854980 703.539978 716.030029 2090600.0 716.030029
2016-01-12 721.679993 728.750000 717.317017 726.070007 2024500.0 726.070007
2016-01-13 730.849976 734.739990 698.609985 700.559998 2501700.0 700.559998
2016-01-14 705.380005 721.924988 689.099976 714.719971 2225800.0 714.719971
2016-01-15 692.289978 706.739990 685.369995 694.450012 3592400.0 694.450012
...
Смежные вопросы
- 1. pandas сохранить тип данных при создании панели
- 2. Как сохранить экземпляр активности?
- 3. Как сохранить экземпляр камеры?
- 4. Данные панели Pandas
- 5. Обновление данных панели pandas
- 6. Альтернативы передискретизации панели Pandas
- 7. Как можно сохранить заказ pandas?
- 8. Как сохранить экземпляр в edittext?
- 9. PHP5 SOAP: как сохранить экземпляр?
- 10. Как сохранить экземпляр EC2 свободно
- 11. Как сохранить другой экземпляр excel
- 12. Как сохранить экземпляр одноэлементного класса
- 13. Docker: Как сохранить исполняемый экземпляр?
- 14. сохранить в python, pandas
- 15. Выбор строк в панели Pandas
- 16. Назначение DataFrame панели в Pandas
- 17. сохранить экземпляр в FragmentTabHost
- 18. Как получить экземпляр панели, содержащей контент ItemsControl?
- 19. как создать экземпляр панели каждый раз
- 20. Сохранить экземпляр пользовательского вида
- 21. pandas: как сохранить список в dataframe?
- 22. Как сохранить график Pandas pie в файл?
- 23. Как сохранить Pandas DataFrame в S3
- 24. в python pandas, как сохранить «сетку»?
- 25. Как я могу сохранить пересечение панели между датами с помощью Pandas?
- 26. Как сохранить экземпляр класса в Python
- 27. Как правильно сохранить экземпляр запроса Doctrine?
- 28. Android: Как сохранить экземпляр объекта parcelable?
- 29. Как сохранить экземпляр пользовательского класса в onSaveInstanceState?
- 30. Сохранить экземпляр изображения как png Magick ++