inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데이터 과학을 위한 파이썬 NumPy Basic

5-2. 배열의 형태 변경2

질문

375

그엉

작성한 질문수 3

0

 안녕하세요 5-2 배열의 형태 변경 2 에서 질문이 있습니다.

 

arr=arr.reshape(3,-1)

-> shape값에 -1 넣게 되면 shape 값이 자동으로 계산되어 자동으로 4가 나온다

arr=arr.reshape(3,2,-1)

-> shape값 -1에 자동으로 2라는 배열이 채워져 3차원 배열이 출력된다

 

라고 말씀하셨는데, 어떤 원리에서 이처럼 작동되는지 이해가 안가서요 ㅜㅜ

어떠한 수를 더하거나 빼는 것 같진 않은데..

혹시 좀 더 자세히 설명해주실 수 있을까요?

감사합니다!

numpy

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

reshape 함수에서 -1은 자동 계산 모드를 의미해요. 그러면 numpy가 배열 전체 크기를 유지하면서 다른 차원 크기를 계산하게 도와줍니다.

예를 들어 arr.reshape(3,-1)을 실행하는 경우, numpy는 배열의 총 원소 개수를 유지하면서 3개의 행으로 배열을 재형성하려고 해요. 그래서 두 번째 차원 크기를 계산해야 하는데, 이때 -1을 설정하면 numpy가 자동으로 두 번째 차원 크기를 계산하여 채워 넣게 됩니다. 이 경우에는 4개의 열이 필요하다는 것을 numpy가 알아내어 3x4 모양의 배열을 반환하게 되죠.

마찬가지로 arr.reshape(3,2,-1)을 실행하는 경우, 3x2x-1 모양의 배열을 만들려고 합니다. 여기서 -1을 설정하면 numpy가 자동으로 두 번째 차원 크기를 계산하여 채워넣게 됩니다. 이 경우에는 자동으로 2가 채워져서 3x2x2 모양의 배열을 반환하게 되어요.

즉, -1을 설정하게 되면 numpy가 자동으로 크기를 계산해서 재배열을 수행하는 것입니다. 잘 이해되셨나요? 추가적인 질문 있으시면 언제든지 물어보세요!

cufflinks 버전문제로 iplot() 미실행

0

43

2

89. 곱의 법칙 한글 자막 없는 문제

0

39

2

강의자료에 소스코드가 없는데요

0

47

3

[수정요청]직접 수집한 주가 데이터로 시각화해보기

0

52

2

pd.read_html(url, encoding='cp949') 에러

0

75

2

강의자료 질문

0

42

1

섹션2 4번 4강 화면과 설명이 안맞음

0

53

2

한국어 음성 안들리는 구간 존재

0

70

1

fdr.StockListing('KRX') 문제 발생

0

137

2

강의자료 문의

0

31

1

Colab실습관련

0

59

2

get_dummies 관련문의

0

63

2

강의 수강

0

73

1

섹션 10 비지도 학습에 대하여

0

65

1

패키지 설치 에러 ydata-profiling

0

121

2

concat 을 통한 데이터 프레임 합치기 에러 문의

0

105

2

훈련과 Predict를 분리할수 없나요?

0

92

2

리스트 기초 부분 문의

0

51

1

3강 21분 실습 오류..

0

319

2

실습파일

0

347

1

질문

0

315

1

1-1 N차원 배열 생성하기 강의에서 질문 있습니다!!

0

390

1

axis에 대해서 질문있습니다.

0

267

0

1-3, 1-5 옆에 버튼 처럼(아래화살표) 된거 어떻게 하나요??

0

455

1