【发布时间】:2020-08-14 06:50:12
【问题描述】:
我有一个具有这种结构的 csv 文件:
id;matrix
1;[[1.2 1.3] [1.2 1.3] [1.2 1.3]]
我正在尝试使用pandas.read_csv 将矩阵字段读取为numpy.ndarray 并使用df.to_numpy() 转换矩阵,但shape 数组的结果为(1,0)。我在等待 shape 等于 (3,2) 为:
matrix = [[1.2 1.3]
[1.2 1.3]
[1.2 1.3]]
我也试过numpy.asmatrix,但结果就像df.to_numpy()
【问题讨论】:
-
是矩阵列和实际列表还是字符串?此外,您在列表中缺少逗号
-
这是一个 numpy 数组的
str显示,它不用于解析。您必须将其转换为列表列表的字符串格式,以及eval。可以处理,但是比较麻烦。 -
您可能还必须将分隔符指定为空格而不是逗号。
-
使用
test=eval(str('[[1 2 3] [4 5 6] [7 8 9]]'))进行测试,出现语法错误,@hpaulj。你是这个意思吗? -
eval('[[1,2,3],[4,5,6]]')是正确的python。注意逗号。
标签: pandas numpy numpy-ndarray