在保留模式的同时导出pandas数据帧

时间:2017-08-16 10:18:47

标签: python-3.x pandas dataframe

我正在处理一个数据帧,其每一行由不同的python词典组成。我希望能够将此数据存储到磁盘并移动此数据,但将数据保存为.csv文件格式会使格式化信息消失。是否有任何格式可以导出数据帧而不会丢失其架构?

我可以用.parquet格式在pyspark中做类似的事情。是否有熊猫支持的等效物?

1 个答案:

答案 0 :(得分:1)

我认为您可以使用DataFrame.to_picklepandas.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'>