我对Pandas DataFrames本身有疑问。
我注意到,只要我在DataFrame的“单元格”中有一个列表,就可以使用df.to_csv
保存该DataFrame并进行回调,该列表就不是字符串对象。如果要使用列表,通常会使用ast.literal_eval
。
为什么Pandas DataFrames似乎不能包含列表?还是我丢失了某些东西或做错了什么?
答案 0 :(得分:1)
不,可以预期,因为保存到csv
的所有数据都是文本。
如果要保留list
,请使用pickle
之类的另一种格式-通过DataFrame.to_pickle
写入数据并通过read_pickle
读取:
df = pd.DataFrame({'a':[[1,2], [3,5]]})
df.to_pickle('file.pkl')
df = pd.read_pickle('file.pkl')
print (df['a'].apply(type))
0 <class 'list'>
1 <class 'list'>
Name: a, dtype: object