질문은 매우 간단합니다. scipy 스파 스 매트릭스 M (100,000X500,000)에서 주어진 행 r이 있다고 가정 해 봅시다. M 매트릭스에서 위치/인덱스를 찾고 싶습니까? 효율적인 방법으로이를 어떻게 수행 할 수 있습니까?scipy 스파 스 매트릭스에서 주어진 행을 찾으십니까?
현재 다음과 같은 방법을 시도하고 있지만 끔찍하게 느립니다. 하나 개 이상의 스파 스 매트릭스 타입의 내부로 파고 싶어하지 않는
offset = 500
begin = 0
end = begin + offset
row = row.todense() #convert sparse to dense
while 1:
sub_M = M[begin:end,:].todense() #M matrix is too big that its dense cannot fit memory
labels=np.all(row == sub_M, axis=1) # here we find row in the sub set of M, but in a dense representation
begin = end
end = end + offset
if (end - offset) == M.shape[0]:
break
elif end > M.shape[0]:
end = M.shape[0]
위대한 팁 주셔서 감사합니다. 내 데이터를 규범화하려하지만 ValueError : dimension mismatch가 계속 발생합니다. 조언 있니? – TsendeeMTS
CSR 행 벡터를 밀도가 높은 형식으로 변환하면 작동합니다. – TsendeeMTS
@TsendeeMTS 함께 곱셈되고있는 오브젝트의'.shape()'를 확인하십시오. 또한 어떤 작업을 통해 오류가 발생했는지 알려주십시오. – jrennie