在使用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