我对Pandas和Numpy还是很陌生。我正在尝试将包含列表列表的字符串转换为形状数组(150、150、3)。
现在,我正在从CSV导入Pandas数据框。数据框具有3列:imageName,data,label。当我运行df['data'][0]
时,得到的字符串如下:
'[[[110 122 100]\n [120 132 110]\n [119 131 110]\n ...\n [105 89 90]\n [117 104 105]\n [ 56 45 46]]\n\n [[116 127 106]\n [123 135 114]\n [117 131 110]\n ...\n [ 99 84 83]\n [103 88 90]\n [108 97 97]]\n\n [[112 127 106]\n [121 136 114]\n [116 130 112]\n ...\n [102 88 86]\n [109 95 96]\n [116 105 105]]\n\n ...\n\n [[145 158 148]\n [125 134 124]\n [110 112 103]\n ...\n [105 84 86]\n [106 85 87]\n [113 92 94]]\n\n [[144 167 154]\n [135 152 142]\n [122 132 124]\n ...\n [104 83 85]\n [106 85 87]\n [109 88 90]]\n\n [[138 170 158]\n [143 170 160]\n [138 158 149]\n ...\n [105 84 86]\n [105 84 86]\n [105 84 86]]]'
每组数字都是一个像素(R,G,B的值)。基本上,我正在尝试重建图像数组。我正在尝试将每个字符串转换成形状数组(150,150,3),以便它们看起来像:
[[[110 122 100]
[120 132 110]
[119 131 110] ... you get the idea.
我已经尝试过.strip()
和.split()
来摆脱\n
字符,但是仍然不能解决问题。我也尝试导入ast
并按照建议的here使用ast.literal_eval()
-,但是它也不起作用。我收到一条奇怪的错误消息:
File "<unknown>", line 1
[[[110 122 100]
^
SyntaxError: invalid syntax
任何帮助将不胜感激。感谢您的时间和考虑。
祝一切顺利, ry.co
答案 0 :(得分:2)
您的数据已经丢失。那些...
部分是NumPy丢弃数据的地方,因为您做了类似print(some_array)
的操作,而不是像numpy.save
那样保存了数据。您需要重新生成数据并正确地保存它。