鑑於scipy.sparse.coo_matrix
類型的稀疏矩陣R
形狀1.000.000 x 70.000
我想通了,給定一個`scipy.sparse.coo_matrix`類型的矩陣如何確定每行最大值的索引和值?
row_maximum = max(R.getrow(i).data)
會給我第i行的最大值。
我現在需要的是對應的值row_maximum
索引。
任何想法如何實現這一目標?
感謝您的任何建議提前!
鑑於scipy.sparse.coo_matrix
類型的稀疏矩陣R
形狀1.000.000 x 70.000
我想通了,給定一個`scipy.sparse.coo_matrix`類型的矩陣如何確定每行最大值的索引和值?
row_maximum = max(R.getrow(i).data)
會給我第i行的最大值。
我現在需要的是對應的值row_maximum
索引。
任何想法如何實現這一目標?
感謝您的任何建議提前!
getrow(i)
返回1×n的CSR矩陣,它有一個indices
屬性,它給出了相應的值的行指數在data
屬性。 (我們知道形狀是1個XN,所以我們沒有對付indptr
屬性)。所以這將工作:
row = R.getrow(i)
max_index = row.indices[row.data.argmax()] if row.nnz else 0
我們必須處理,其中row.nnz
是0分開的情況下,因爲row.data.argmax()
如果row.data
是一個空數組,則會引發異常。
使用numpy.argmax
(或scipy.argmax
它是同一回事)
index_of_maximum = scipy.argmax(R.getrow(i).data)