Есть ли быстрый способ для этого? Я не совсем понимаю, что из документов.
то есть, как преобразовать это в 3D-объект xarray со всеми метками?
d = {x: pd.DataFrame(np.random.randn(4, 3)) for x in [1,2,3]}
def dict_of_df_to_xarray(d, key_name=None):
import xarray
keys = list(sorted(d.keys()))
df = d[keys[0]]
ind = df.index
if key_name is None:
key_name = 'key'
columns = df.columns
index_name = df.index.name
if index_name is None:
index_name = 'index'
column_name = df.columns.name
if column_name is None:
column_name = 'column'
df = xarray.DataArray(np.concatenate([d[k].values[:, :, None] for k in keys], axis=2), dims=[index_name, column_name,
key_name], coords={index_name: ind, column_name: columns, key_name: keys})
return df