我有一個資料框,其中一列包含一個值串列:
示例:
type(df['col_list'].values[0])=list
我將此資料框保存為 csv 檔案(df.to_csv('my_file.csv'))
當我加載資料框(df = pd.read_csv('my_file.csv'))時,包含值串列的列更改為string型別:
type(df['col_list'].values[0])=str
轉換為串列(list(df['col_list'].values[0])時,我得到的是字串列而不是值串列。
如何保存/加載其中一列包含值串列的資料框?
uj5u.com熱心網友回復:
這是由于表被保存為 CSV 并序列化了串列的值。csv 格式無法按原樣保存串列物件。嘗試以另一種格式保存df.to_pickle('test.df')。然后,您可以使用read_pickle將其讀回資料幀
在此處閱讀有關保存到泡菜的更多資訊
uj5u.com熱心網友回復:
使用JSON或HDF檔案格式而不是 CSV。CSV 檔案格式對于存盤串列或物件集合確實很不方便。
uj5u.com熱心網友回復:
我認為阿努拉格的建議非常好。但是以防萬一您想保持原樣,這可以完成作業
import json
df['col_list'] = df['col_list'].apply(json.loads)
col_list如果您之前已轉換為 JSON 文本,pd.to_csv這會更好
df['col_list'] = df['col_list'].apply(json.dumps)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429599.html
上一篇:如何根據df2的每一行中的值將資料從pythonpandasdf1提取到df2,有點像Excel中嵌套在HLOOKUP中的VLOOKUP
