读取具有列表数据类型的列

时间:2019-02-14 18:10:04

标签: pandas

假设我具有以下数据框:

df = pd.DataFrame({'col1': [[1,2,3],[2,3,4]]})

col1的每一行都是一个列表。这也可以在这里看到:

type(df.loc[0]['col1']) # list

如果我保存数据然后重新加载,则每一行现在是一个str:

df.to_csv('test.csv',index=False)
df2 = pd.read_csv('test.csv')
type(df2.loc[0]['col1']) # str

我想获取原始数据格式,如果col1的每一行都是一个列表。

做到这一点的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

可能不是最好的方法,但仍然可以达到您的目的。

df2 = pd.read_csv('test.csv')      
df2['col1']=df2['col1'].apply(lambda x: x[1:len(x)-1].split(',')) 
type(df2.loc[0]['col1']) # list

如果所有列表的长度相同,则可以将len(x)替换为该长度。