Как извлечь строки из списка списков? - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть список списков, и я пытаюсь извлечь строки из списка и нанести их на общую переменную x. Поэтому я пытаюсь извлечь каждую строку за раз, используя al oop,

for i in range(10):
    tlist = list(zip(*v_avg_store))
    tlist[0]
    print(tlist)
    x = np.array(steps_store)
    y = np.array(tlist)
    plt.plot(x,y)

v_avg_store = [100,23,23,45,12,122], [2,1232,123,43,545,645], [234,23,43,556,33,45]

Я хочу извлечь каждый набор данных и график,

ex: 100,23,23,45,12,122 (y-axis) vs index (x-axis)

для каждого набора на том же участке.

, который возвращает мне ошибку,

x = np.array (steps_store) y = np.array (tlist) plt.plot (x, y) plt.xlabel (" steps ")

/ usr / local / lib / python3 .6 / dist-packages / matplotlib / axes / _base.py в _xy_from_xy (self, x, y), если x.shape [0]! = y.shape [0]: повысить ValueError ("x и y должны иметь одинаковое первое измерение, но" иметь формы {} и {} ". формат (x.shape, y.shape)), если x.ndim> 2 или y.ndim> 2: повысить ValueError («x и y могут быть не больше 2-D, но иметь»

ValueError: x и y должны иметь одинаковое первое измерение, но иметь формы (99990,) и (50000, 10)

Как мне решить эту проблему? Существует ли способ извлекать строку за строкой из списка списка и одновременно выводить их все на один график?

1 Ответ

0 голосов
/ 14 февраля 2020

Какое значение steps_store? Также я предполагаю, что tlist - ваш двухмерный список списков.

Пример двухмерного списка:

x = [[1,2,3] , [4,5,6] , [7,8,9] ,[10 , 11 ,12]] # list of lists

Строки считаются списками внутри списка. Таким образом, x[0] будет строкой [1 2,3], столбцы соответствуют значению в списке строки . Таким образом, x[0][0] - это строка 0, столбец 0, и это соответствует 1.

Вы уже извлекли строку (предполагая, что tlist - это список списков), когда вы вызывали tlist[0]. Однако вы не присвоили переменную извлеченному списку, а вместо этого передали весь список tlist в значение y.

Ваша ошибка означает, что x = np.array(steps_store) и y = np.array(tlist) не являются одним и тем же измерением (один может быть списком 1D, другой может быть списком 2D), не зная, какие именно значения tlist и steps_store is.

Убедитесь, что размеры списков совпадают, затем извлеките строку с помощью:

rowList = tlist[0]

и передайте ее в массив numpy:

x = np.array(rowList)

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