Преобразование строки списков списков в массив Numpy - PullRequest
0 голосов
/ 19 октября 2018

Я все еще новичок в Пандах и Нампи.Я пытаюсь преобразовать строку, содержащую список списков в массив формы (150, 150, 3).

Сейчас я импортирую фрейм данных Pandas из CSV.Фрейм данных имеет 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 и использовать ast.literal_eval() - как предложено здесь - но это тоже не работает.Я получаю странное сообщение об ошибке:

File "<unknown>", line 1
  [[[110 122 100]
         ^
SyntaxError: invalid syntax

Любая помощь будет чрезвычайно признательна.Спасибо за ваше время и внимание.

Всего наилучшего, ry.co

1 Ответ

0 голосов
/ 20 октября 2018

Ваши данные уже потеряны.В этих ... частях NumPy выбросил ваши данные, потому что вы сделали что-то вроде print(some_array) вместо того, чтобы сохранить что-то вроде numpy.save.На этот раз вам необходимо восстановить ваши данные и сохранить их должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...