如何将 pandas 面板保存到文件中?
How to save a pandas panel into a file?
我在运行一个实验中多次对结果进行平均,以便使曲线平滑。我选择 pandas 面板是因为它具有多种优势,但是由于计算量太大,我决定保存面板:
panel=Experiment(data, labels, test_size, n_label,10)
panel.to_json(args["output"])
我尝试了自动完成 .to_json() 或 .to_csv()... 可用的方法,但我总是得到 "Not implemented error"。我只想将数据保存在文件中。
考虑以下示例:
from pandas_datareader import data as web
p = web.DataReader(['AAPL','GOOG'], 'google', '2017-04-01')
# save Panel to HDF5 file
p.to_hdf('c:/temp/panel_test.h5', 'key')
# read from HDF5 file to Panel
pp = pd.read_hdf('c:/temp/panel_test.h5', 'key')
让我们比较一下
In [13]: pp
Out[13]:
<class 'pandas.core.panel.Panel'>
Dimensions: 5 (items) x 31 (major_axis) x 2 (minor_axis)
Items axis: Open to Volume
Major_axis axis: 2017-04-03 00:00:00 to 2017-05-16 00:00:00
Minor_axis axis: AAPL to GOOG
In [14]: p
Out[14]:
<class 'pandas.core.panel.Panel'>
Dimensions: 5 (items) x 31 (major_axis) x 2 (minor_axis)
Items axis: Open to Volume
Major_axis axis: 2017-04-03 00:00:00 to 2017-05-16 00:00:00
Minor_axis axis: AAPL to GOOG
注意: 请注意,面板将在未来的 Pandas 版本中弃用,因此最好改用 xarrays
a = p.to_xarray()
# http://xarray.pydata.org/en/stable/io.html
a.to_netcdf('c:/temp/test.nc')
我在运行一个实验中多次对结果进行平均,以便使曲线平滑。我选择 pandas 面板是因为它具有多种优势,但是由于计算量太大,我决定保存面板:
panel=Experiment(data, labels, test_size, n_label,10)
panel.to_json(args["output"])
我尝试了自动完成 .to_json() 或 .to_csv()... 可用的方法,但我总是得到 "Not implemented error"。我只想将数据保存在文件中。
考虑以下示例:
from pandas_datareader import data as web
p = web.DataReader(['AAPL','GOOG'], 'google', '2017-04-01')
# save Panel to HDF5 file
p.to_hdf('c:/temp/panel_test.h5', 'key')
# read from HDF5 file to Panel
pp = pd.read_hdf('c:/temp/panel_test.h5', 'key')
让我们比较一下
In [13]: pp
Out[13]:
<class 'pandas.core.panel.Panel'>
Dimensions: 5 (items) x 31 (major_axis) x 2 (minor_axis)
Items axis: Open to Volume
Major_axis axis: 2017-04-03 00:00:00 to 2017-05-16 00:00:00
Minor_axis axis: AAPL to GOOG
In [14]: p
Out[14]:
<class 'pandas.core.panel.Panel'>
Dimensions: 5 (items) x 31 (major_axis) x 2 (minor_axis)
Items axis: Open to Volume
Major_axis axis: 2017-04-03 00:00:00 to 2017-05-16 00:00:00
Minor_axis axis: AAPL to GOOG
注意: 请注意,面板将在未来的 Pandas 版本中弃用,因此最好改用 xarrays
a = p.to_xarray()
# http://xarray.pydata.org/en/stable/io.html
a.to_netcdf('c:/temp/test.nc')