끝까지 도달 할 때까지 파일을 읽는 루프가 있습니다. 루프를 통과 할 때마다 1D numpy 배열을 추출합니다. 이 배열을 다른 numpy 배열에 2D 방향으로 추가하려고합니다. 그건 내가 형태numpy에 배열 추가
x = [1,2,3]
의 뭔가를 읽을 수있는, 내가 형태
z = [[0,0,0],
[1,1,1]]
나는 단순히
내 원하는 결과를 얻을 수z = numpy.append([z],[x],axis = 0)
을 할 수 있습니다 알고있는 무언가에 추가 할
z = [[0,0,0],
[1,1,1],
[1,2,3]]
내 문제는 첫 번째 배열을 읽어들이는 것이 2D 배열의 첫 번째 행이기 때문에 루프를 처음 실행할 때 아직 추가 할 항목이 없습니다. 나는 그 것이 추악하기 때문에 첫 번째 경우를 다루기 위해 if 서술문을 작성해야 할 필요가 없다. 목록으로 작업하는 중이라면 루프 전에 간단히 z = []
을 수행하고 배열을 읽을 때마다 단순히 원하는 결과를 얻기 위해 z.append(x)
을 수행하면됩니다. 그러나 numpy에서 비슷한 절차를 수행하는 방법을 찾을 수 없습니다. 빈 번지 배열을 만들 수는 있지만 원하는대로 배열에 추가 할 수는 없습니다. 누구든지 도와 줄 수 있습니까? 나는 어떤 의미가 있습니까?
편집 :
좀 더 연구 후에, 나는 기술적으로 내가 NumPy와 추기가 매우 느립니다 주어진 @Roger 팬에 의해 주어진 솔루션을 갈 것이라고 생각하지만, 내가 원하는 것을 할 않는 다른 해결 방법을 발견했다. 나는 그것을 여기에 게시하고 있습니다.
루프 시작 부분에 여전히 z = []
을 정의 할 수 있습니다. 그런 다음,`np.append (z, x) '로 배열을 추가하십시오. 이것은 궁극적으로 내가 읽어 모든 배열 (N m) 단순히 np.resize`와 크기를 조절할 수 있습니다 루프 후, 같은 크기이기 때문에, 그런 나에게
z = [0,0,0,1,1,1,1,2,3]
같은 것을 제공 '을 얻을 것이다 무엇 나는 끝났어.
파일에는 numpy가 읽을 수있는 일반적인 방법이없는 복잡한 구조가 있기 때문에 파일의 끝까지 루프해야합니다. 나는 이미 파일을 읽는 내 자신의 방법을 가지고 있으며 완벽하게 괜찮습니다. 단지 제 질문에서 무엇을 요구했는지 구현하고 싶습니다. 그래서 "좋네요". – zephyr
그럼 내 대답에 두 번째 방법을 사용하는 것이 좋습니다. – heltonbiker