pd.Panel转化成json,然后再还原回来

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

 

 
posted @ 2019-05-28 19:49  心媛意码  阅读(568)  评论(0编辑  收藏  举报