2017-02-10 2 views
0

파이썬으로 작업 중입니다. 어레이 stud은 모양이 (3, 11, 16)이고 다른 배열이 times = np.array[740, 560, 600]입니다. a (0 ,11 ,16)의 첫 번째 슬라이스를 740 번 반복하고 싶습니다. 다음 번 슬라이스를 a(1, 11, 16) 560 번 반복하고 세 번째 슬라이스와 동일하게 반복하고 싶습니다. 파이썬에서 2 차원 배열을 다른 양만큼 반복하십시오.

여기서 문제는 모든 조각 ji 번 반복되는 나의 시도

new_array = [] 
for i in times: 
    for j in range(len(stud)): 
     rep = np.repeat(stud[j,:,:], i, axis=0) 

입니다. 나는 그것이 첫번째로 i 일 때 오직 첫번째로 j 만 실행되도록 만들고 싶습니다. 두 번째 i의 경우에만 두 번째 j이 실행됩니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

new_array = [] 
for i, j in zip(times, range(len(stud))): 
    rep = np.repeat(stud[j,:,:], i, axis=0) 

이 루프를 통해 갈 것 3 회 :

+0

new_array.append (rep)가 없어야합니다. 이 혼란에 대해 죄송합니다 –

+0

질문을 편집하여 추가 라인을 제거 할 수 있습니다 – bouletta

답변

1

나는 당신을 위해 무엇을 찾고있는 것은 생각

처음, i=740, j=0

두 번째 시간, i=560, j=1

세 번째 시간, i=600, j=2

귀하의 질문에 대해 오해 한 경우 제발 저를 시정하십시오.

+0

네, 맞습니다. 이 작업을 수행 할 때 오류가 발생합니다. TypeError : zip 인수 2는 반복을 지원해야합니다. 이 시간은 배열이지만 len (stud)은 정수라고 생각합니다. –

+0

어떤 오류를 알려주시겠습니까? – bouletta

+0

예, 댓글 바로 위에 있습니다. –

관련 문제