Scipy coo_matrix считает некоторые небольшие числа равными 0,0, но все равно помещает их в разреженную матрицуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Scipy coo_matrix считает некоторые небольшие числа равными 0,0, но все равно помещает их в разреженную матрицу

Сообщение Anonymous »

Я использую код Python и numpy/scipy и создаю разреженный массив:

Код: Выделить всё

Coords    Values
(206, 138)    0.0
(206, 139)    0.23614037219163428
(206, 140)    0.2366397154157327
(206, 141)    0.236805402497099
(206, 142)    0.0
(207, 138)    0.3928269859331709
(207, 139)    0.3939331263543298
(207, 140)    0.3995270442982785
(207, 141)    0.3821409243437723
(207, 142)    0.3638856690042628
(208, 138)    0.3935915394673921
(208, 139)    0.3957499496341213
(208, 140)    0.39550968408901105
(208, 141)    0.38493115738953887
(208, 142)    0.0
(209, 138)    0.0
(209, 139)    0.3917329284904307
(209, 140)    0.39178317681678937
(209, 141)    0.3796339720019004
(210, 139)    0.0
(210, 140)    0.40025290199002156
Я ожидал:

Код: Выделить всё

Coords    Values
(206, 139)    0.23614037219163428
(206, 140)    0.2366397154157327
(206, 141)    0.236805402497099
(207, 138)    0.3928269859331709
(207, 139)    0.3939331263543298
(207, 140)    0.3995270442982785
(207, 141)    0.3821409243437723
(207, 142)    0.3638856690042628
(208, 138)    0.3935915394673921
(208, 139)    0.3957499496341213
(208, 140)    0.39550968408901105
(208, 141)    0.38493115738953887
(209, 139)    0.3917329284904307
(209, 140)    0.39178317681678937
(209, 141)    0.3796339720019004
(210, 140)    0.40025290199002156
Я пытался распечатать:

Код: Выделить всё

np.set_printoptions(precision=100, suppress=True)
print(coo[0].toarray()[206,138])
это дает мне 0.0 или np.float64(0.0), если я не пишу print в jupyterlab
Но не что-то вроде 1.14514e-20

Я не могу не спросить: если numpy думает, что это 0,0, почему оно отображается в разреженном массиве, а не в пустом значении?

Подробнее здесь: https://stackoverflow.com/questions/790 ... parse-matr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»