2
私はグラフの隣接行列A
を持っています。 A = A.sign()
の後には、まだ1または0または-1でない要素がいくつかあります。Scipyのsign()は動作保証されていませんか?
In [35]: A = A.sign()
In [36]: A.getcol(0).data
Out[36]:
array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 2.])
In [37]: A
Out[37]:
<519403x519403 sparse matrix of type '<type 'numpy.float64'>'
with 3819116 stored elements in COOrdinate format>
一方、numpy.sign()
は問題ありません。
In [50]: a = A.getcol(0)
In [51]: np.sum(a.todense())
Out[51]: 58.0
In [52]: np.sum(np.sign(a.todense()))
Out[52]: 57.0
元の値は何ですか? –
@OliverCharlesworth元の値が長すぎるため、疎な行列を使用していますが、 'A.getcol(0).data'は' A.sign() 'の後と同じです – Yfiua
あなたの元の 'A'マトリックスは2の' sign 'を与えました(例えば、A.data [A.sign()。data == 2] ')? –