包含CSV嵌套列表的数据帧



我有一个数据帧,它将列表嵌套为列值,如下所示:

col1         col2   
0   [1, 1]      [a, b, c]   
1   [0, 0, 0]   [d, e, f]   

当我将数据帧转换为csv时,我会得到这样的东西:

col1      col2   
[1 1]  ,  [a b c] 
[0 0 0] , [d e f] 

基本上,嵌套列表中的逗号会消失,当我从csv读回数据帧时,我不会得到逗号。我如何维护逗号并将csv保存为这样的内容:

col1          col2   
[1,1]    ,    [a, b, c]   
[0, 0, 0] ,   [d, e, f]   

p.S:我想要一个熊猫解决方案来创建csv

我认为没有列表,而是数组,所以如果删除对csv逗号的写入:

df = pd.DataFrame({'col1':[np.array([1,1]), np.array([0,0,0])]})
print (df)
col1
0     [1, 1]
1  [0, 0, 0]
df.to_csv('file.csv', index=False)
df = pd.read_csv('file.csv')
print (df)
col1
0    [1 1]
1  [0 0 0]

可能的解决方案是将数组转换为列表:

df = pd.DataFrame({'col1':[np.array([1,1]), np.array([0,0,0])]})
df = df.applymap(list)
print (df)
col1
0     [1, 1]
1  [0, 0, 0]
df.to_csv('file.csv', index=False)
df = pd.read_csv('file.csv')
print (df)
col1
0     [1, 1]
1  [0, 0, 0]

列表的字符串表示中的最后一个列表使用:

import ast
df = df.applymap(ast.literal_eval)
print (df)
col1
0     [1, 1]
1  [0, 0, 0]

相关内容

  • 没有找到相关文章

最新更新