본문 바로가기
개발자 일기/일일회고 (TIL)

[Upstage AI Lab]부트캠프 3일차

by MS_developer 2024. 11. 19.

오늘의 생각

진짜 24시간이 모자라

 

본격적으로 부트캠프가 시작되었다고 느껴지는 하루였다.

 

하루 종일 특강이었는데, 지난 주 (1~2일차)의 파이썬 온라인 강의와 상당히 유사했다. 때문에 복습 개념으로 임하면서 들었다. 문제는 이 외에 별도로 부트캠프에서 "권장"하는 학습량이 추가적으로 있는데, 7시에 특강이 끝나고 12시 넘어까지 들어서야 겨우 다 들을 수 있었다.

 

너무나도 바쁜 하루였다.

 

그치만...7개월이라는 짧은 시간 안에 빠르게 습득하려면 그만큼 노력이 필요하니, 달갑게 받아들이고 꾸준히 공부하려는 의지를 다지고 있다.


오늘의 학습내용

  • 대표적인 파이썬 라이브러리의 종류 및 사용 목적 (Numpy, Pandas 등)
  • Numpy
    • Numpy 라이브러리에서의 배열
    • Numpy 배열 대표 속성값
    • Numpy 배열 생성 - .arnage() 와 .license()를 활용한 데이터 생성
    • Numpy 기본 연산 - '*' 연산 
    • Numpy 크기 변경 데이터 합치기 / 쪼개기
  • Pandas
    • Pandas 데이터 형식
    • Pandas 데이터 불러오기
    • Pandas 데이터 내용 확인 및 선택
    • Pandas 데이터 필터링 / 결측치 제거
    • Pandas 데이터 통계 활용하기 / 보는 법

추가적으로 알게 된 내용

1. 지수 함수 (np.exp)

 

지수 함수는 (Exponential Function)는 Numpy 라이브러리에 내장된 변수의 값이 지수로 나타나는 함수다. 

# c는 임의의 변수 (실수)
d = np.exp(c*1j)
print(d)
print(d.dtype)

 

코드는 비교적 단순한데, 여기서 말하는 "1j"란 것이 어디에서 온 것인지, 무엇을 의미하는지 잘 몰라서 좀 찾아보았다.

 

j는 파이썬에서 허수 단위를 의미한다. 즉, j는 복소수의 허수 부분을 표시하는 기호로, 수학에서 허수 단위 i (i.e., −1\\sqrt{-1}−1)에 해당한다. 따라서 1j 는 0+1j0 + 1j 0+1j로 표현되는 순수 허수이다.

 

블로그로 수학적 기호를 쓰는데 한계가 있는데, GPT의 결과를 공유한다.

 

 

여전히 꽤 복잡한 설명인데, 목적만 설명하자면 실수를 복소수로 변경하는 과정에서 사용되는 함수이다.

 

2. np.arrange X np.arange O

 

실습 과정에서 의외의 부분에서 보틀넥이 있었는데, 바로 np.arange() 함수를 사용하는 과정에서 발생했다.

 

알고보니 오타 문제였다. 발음상 arrange(배열하다)의 뜻의 단어를 사용하는 줄 알았는데, r이 하나 없는 arange의 문제였다.

 

당연히 의문이 들었다.

 

아니 왜 굳이 오타를 문법으로?

 

 

Numpy가 굉장히 유용한 라이브러리이고 사용자가 그렇게 많은데 굳이 이렇게 두나? 라는 의문이 들어 찾아보았다.

 

공식문서를 통해 답을 도출할 수 있었는데, 공식문서에서 arange 함수에 대해 "roughly equivalent to the Python built-in range, but returns an ndarray rather than a range instance."라고 설명되어 있다. 문장을 해석해보자면 python의 내장 메서드 range 함수와 비슷한 기능을 하기 위한 함수이기 때문에 "a range"의 의미로 표현했다는 것으로 볼 수 있다.

 

실제로 많은 사람들이 이 부분에서 의문을 표한다고하니, 나도 그저 범부일 뿐이구나 라는 생각이 들었다.

댓글