我有一个数据框架,其中一列包含一个值列表:
示例:type(df['col_list'].values[0])
= list
我将此数据框保存为csv文件(df.to_csv('my_file.csv')
)
当我加载dataframe(df = pd.read_csv('my_file.csv')
)时,包含值列表的列更改为string
类型:type(df['col_list'].values[0])
= str
当转换为列表(list(df['col_list'].values[0]
)时,我得到的是字符列表,而不是值列表。
我如何保存/加载数据框架,它的哪一列包含值列表?
4条答案
按热度按时间gmol16391#
使用
JSON
或HDF
文件格式,而不是CSV。CSV文件格式对于存储列表或对象集合确实不方便。n1bvdmb62#
这是因为表被保存为CSV并序列化列表的值。csv格式无法按原样保存列表对象。尝试以另一种格式保存
df.to_pickle('test.df')
。然后,您可以使用read_pickle将其读回数据框阅读更多关于保存到pickle here
bvjxkvbb3#
我认为Anurag的建议非常好。但以防万一你想保持现状,这个就行了
字符串
如果您在
pd.to_csv
之前通过以下方式将col_list
转换为JSON文本,则效果会更好型
aiqt4smr4#
考虑将其保存为excel文件,如果可以的话。
字符串