현재 numpy 배열에 문자열을 파싱하는 데 문제가 있습니다.파이썬 : 배열에 문자열 파싱
캐릭터는 다음과 같다 :
input = '{{13,1},{2,1},{4,4},{1,7},{9,1}}'
문자열은 벡터 자체가 중괄호로 구분 된 스파 스 벡터를 나타냅니다. 중괄호로 구분 된 각 항목은 어떤 색인에 어떤 항목이 있는지 나타냅니다. 목록의 첫 번째 항목은 벡터의 크기를 인코딩합니다. 위의 예에서
이 벡터는 배열로 분석 한 결과 0
output = np.array([0,7,1,0,4,0,0,0,0,1,0,0,0])
다르다 13 개, 4 항목의 길이를 가지며, I는 밀도의 문자열을 다시 분석 할 필요 형식은 형식 : 내가 필요로하는 동안은 문자열로 NumPy와 배열을 분석하기 위해 관리하는 동안
stringoutput = '{0,7,1,0,4,0,0,0,0,1,0,0,0}'
, 내가 잘못 브래킷을 갖는 문제로 실행 (즉, 기능을 array2string의 빌드는, [] 사용 { })
나는 도움이되는 제안을 열어이 문제를 효율적으로 해결합니다 (대형 스파 스 벡터의 경우에도 마찬가지 임).
감사합니다.
\ 편집 : 주어진 벡터} {첫 번째에서 두 번째 숫자, 즉 항상 1이 될 것입니다, 항상 하나의 차원 (그리고 당신은 단지 요소의 위치를 찾을 수 1 개 인덱스가 필요합니다) 여기에
항상 1 차원입니까? – fuglede