含元组数据的数据集存储与跨Python Notebook调用咨询
保存与读取含复杂类型列的DataFrame
一、Pickle格式(推荐)
你找到的pickle方法是最适配的方案,它能直接保留DataFrame里的元组、列表等复杂数据类型,无需额外转换:
保存代码
import pandas as pd # 假设你的数据集已存入df变量 df.to_pickle('test.pkl')
调取代码
在其他Notebook中直接读取,数据类型会完全还原:
import pandas as pd new_df = pd.read_pickle('test.pkl') # 可选:验证数据类型是否正确 print(type(new_df['pos_tag'].iloc[0])) # 输出 <class 'list'>,内部元素为tuple类型
二、CSV格式(需手动还原复杂类型)
CSV是通用格式,但会自动把元组、列表转为字符串存储,读取后需要手动还原:
保存代码
df.to_csv('test.csv', index=False)
调取代码
import pandas as pd from ast import literal_eval # 读取CSV,此时pos_tag和clean data列是字符串格式 new_df = pd.read_csv('test.csv') # 还原复杂类型列 new_df['pos_tag'] = new_df['pos_tag'].apply(literal_eval) new_df['clean data'] = new_df['clean data'].apply(literal_eval) # 可选:验证还原后的类型 print(type(new_df['pos_tag'].iloc[0][0])) # 输出 <class 'tuple'>
三、JSON格式(需调整类型还原逻辑)
JSON格式同样需要处理复杂类型,元组会被转为列表存储,读取后可按需还原:
保存代码
df.to_json('test.json', orient='records', indent=2)
调取代码
import pandas as pd new_df = pd.read_json('test.json') # 将JSON中被转成列表的元组还原回原类型 new_df['pos_tag'] = new_df['pos_tag'].apply(lambda x: [tuple(item) for item in x])
内容的提问来源于stack exchange,提问作者Dewani
相关产品推荐
相关产品推荐

