read_csv
Использование аргументов header
и index_col
в read_csv
даст вам то, что вам нужно.
toy_data.to_csv('sample.csv')
pd.read_csv('sample.csv', header=[0, 1], index_col=[0])
Company GOOG FB
Indicators Shares ROE Shares ROE
Quarter_end
2018-03-24 NaN NaN NaN NaN
2018-03-25 NaN NaN NaN NaN
2018-03-30 NaN NaN NaN NaN
2018-03-31 1.0 2.0 3.0 4.0
2018-04-01 NaN NaN NaN NaN
read_hdf
Возможно, лучше сохранить hdf
.
toy_data.to_hdf('sample.h5', 'toy_key')
pd.read_hdf('sample.h5', 'toy_key')
Company GOOG FB
Indicators Shares ROE Shares ROE
Quarter_end
2018-03-24 NaN NaN NaN NaN
2018-03-25 NaN NaN NaN NaN
2018-03-30 NaN NaN NaN NaN
2018-03-31 1.0 2.0 3.0 4.0
2018-04-01 NaN NaN NaN NaN
Настройка
cols = pd.MultiIndex.from_product(
[['GOOG', 'FB'], ['Shares', 'ROE']],
names=['Company', 'Indicators']
)
idx = pd.to_datetime(
['2018-03-24', '2018-03-25', '2018-03-30',
'2018-03-31', '2018-04-01']
).rename('Quarter_end')
toy_data = pd.DataFrame([
[np.nan, np.nan, np.nan, np.nan],
[np.nan, np.nan, np.nan, np.nan],
[np.nan, np.nan, np.nan, np.nan],
[1, 2, 3, 4],
[np.nan, np.nan, np.nan, np.nan],
], idx, cols)