Почему я могу отображать массивы данных, содержащие значения None, при использовании массива numpy, но не при использова ⇐ Python
Почему я могу отображать массивы данных, содержащие значения None, при использовании массива numpy, но не при использова
У меня есть данные X и Y, которые я хотел бы отобразить просто как X против Y.
Однако для некоторых элементов Y данные отсутствуют. Я записываю это как None, а не 0, поскольку matplotlib не отображает это (я не хочу рисовать линию до нуля и обратно).
Я заметил, что это работает, если да:
импортировать numpy как np импортировать matplotlib.pyplot как plt X = np.array([1,2,3,4]) Y = np.array([1,2,3,Нет]) Y_ERR = np.array([1,1,1,Нет]) plt.errorbar(X, Y, йерр = Y_ERR) plt.show() Однако, когда я вместо этого использую списки, я получаю сообщение об ошибке:
X = [1,2,3,4] Y = [1,2,3,Нет] plt.errorbar(X, Y, йерр = Y_ERR) plt.show() TypeError: неподдерживаемые типы операндов для -: 'NoneType' и 'NoneType'
Я также понял, что если я использую функцию .tolist() для массивов numpy внутри функции plt.errorbar, ошибка не возникает, когда я представляю это должно быть эквивалентно использованию списков. Э.Г.:
X = np.array([1,2,3,4]) Y = np.array([1,2,3,Нет]) Y_ERR = np.array([1,1,1,Нет]) plt.errorbar(X.tolist(), Y.tolist(), yerr = Y_ERR.tolist()) plt.show() Почему это так?
У меня есть данные X и Y, которые я хотел бы отобразить просто как X против Y.
Однако для некоторых элементов Y данные отсутствуют. Я записываю это как None, а не 0, поскольку matplotlib не отображает это (я не хочу рисовать линию до нуля и обратно).
Я заметил, что это работает, если да:
импортировать numpy как np импортировать matplotlib.pyplot как plt X = np.array([1,2,3,4]) Y = np.array([1,2,3,Нет]) Y_ERR = np.array([1,1,1,Нет]) plt.errorbar(X, Y, йерр = Y_ERR) plt.show() Однако, когда я вместо этого использую списки, я получаю сообщение об ошибке:
X = [1,2,3,4] Y = [1,2,3,Нет] plt.errorbar(X, Y, йерр = Y_ERR) plt.show() TypeError: неподдерживаемые типы операндов для -: 'NoneType' и 'NoneType'
Я также понял, что если я использую функцию .tolist() для массивов numpy внутри функции plt.errorbar, ошибка не возникает, когда я представляю это должно быть эквивалентно использованию списков. Э.Г.:
X = np.array([1,2,3,4]) Y = np.array([1,2,3,Нет]) Y_ERR = np.array([1,1,1,Нет]) plt.errorbar(X.tolist(), Y.tolist(), yerr = Y_ERR.tolist()) plt.show() Почему это так?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Срез массива numpy/pandas на основе значения None в одном из массивов/столбцов
Anonymous » » в форуме Python - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-