我正在处理一个数据帧,其每一行由不同的python词典组成。我希望能够将此数据存储到磁盘并移动此数据,但将数据保存为.csv文件格式会使格式化信息消失。是否有任何格式可以导出数据帧而不会丢失其架构?
我可以用.parquet格式在pyspark中做类似的事情。是否有熊猫支持的等效物?
答案 0 :(得分:1)
我认为您可以使用DataFrame.to_pickle
和pandas.read_pickle
:
df = pd.DataFrame({'a':[{'A':1,'B':2}, {'C':7}],
'b':[{'D':7}, {'A':8,'C':3}]})
print (df)
a b
0 {'A': 1, 'B': 2} {'D': 7}
1 {'C': 7} {'A': 8, 'C': 3}
print (df.applymap(type))
a b
0 <class 'dict'> <class 'dict'>
1 <class 'dict'> <class 'dict'>
df.to_pickle('data.pkl')
df = pd.read_pickle('data.pkl')
print (df)
a b
0 {'A': 1, 'B': 2} {'D': 7}
1 {'C': 7} {'A': 8, 'C': 3}
print (df.applymap(type))
a b
0 <class 'dict'> <class 'dict'>
1 <class 'dict'> <class 'dict'>