在使用tornado的write时候有一个需求,是将panel转化成json;而接收端再将json还原成panel格式.
尝试了很久,终于实现了.
panel1 =pd.Panel({"one": pd.DataFrame([[1, 2, 3],[4,5,6]],index=["a","b"], columns=["h","g", "i"]), "two": pd.DataFrame([[11, 23, 34],[44,54,64]],index=["a","b"], columns=["h","g", "i"])}) # panel转json df = panel1.to_frame() #pandas中不支持panel直接转成json,需要先转成dataframe,再去转成json json_str = df.to_json(orient="table") #注意此处的"table"使得df的行列名信息得到很好的保留 # json还原成panel df_convert = pd.read_json(json_str,orient="table") #先转化成df
panel_convert = df_convert.to_panel() print(panel_convert) #再转化为panel