Python 存储包含列表字段的数据帧的最快方法

Python 存储包含列表字段的数据帧的最快方法,python,pandas,dataframe,Python,Pandas,Dataframe,我正在使用包含3个字段的pandas数据框: Id字段(例如1234) 文本字段(例如“某些文本”) 列表字段(例如:[som',ome',tex',ext']) 使用pd.DataFrame.to_csv()时,列表列存储为文本,加载回内存时必须重新转换。由于该表有300多万行,因此在使用加载过程pd.read\u csv(path,encoding='latin-1',converters={'list\u field':eval})时需要30分钟以上的时间 我曾尝试使用pandas函数

我正在使用包含3个字段的pandas数据框:

  • Id字段(例如1234)
  • 文本字段(例如“某些文本”)
  • 列表字段(例如:[som',ome',tex',ext'])
使用
pd.DataFrame.to_csv()
时,列表列存储为文本,加载回内存时必须重新转换。由于该表有300多万行,因此在使用加载过程
pd.read\u csv(path,encoding='latin-1',converters={'list\u field':eval})时需要30分钟以上的时间

我曾尝试使用pandas函数为每个列表元素指定自己的行,保存分解表,然后在加载时使用
pd.DataFrame.group_by()
进行聚合,但这似乎需要更长的时间

我也考虑过
json.dump()/load()
pickle
,但我的理解是,这些包也将列表存储为文本,必须在加载时进行转换


是否有一种有效/快速的方法来减少数据帧的加载时间?

您是否尝试过
df.to_pickle('data.pkl')
,然后
df=pd.read_pickle('data.pkl')
?@AndrejKesely在运行一些测试后,我可以确认加载pickle文件所需的时间相同。