Kaggle Study 1주차 진행

Kim Ju Young·2022년 1월 25일
0

Github

목록 보기
3/3
post-thumbnail

시작하기 전에

Kaggle은 데이터 사이언스에 뛰어난 사람들이 활약할 수 있도록 대회를 내놓는 유명한 곳이다. 평소 데이터 사이언스에도 관심이 있었는데 근처에 배울 수 있는 곳이 적어 스스로 공부하기로 마음 먹었다. Git에도 거창하게 스터디 진행 내용을 적었으니 1주마다 Velog라도 적으면서 나아가려고 한다.

내 Kaggle Study

이것저것 여러 블로그에서 본대로 처음부터 타이타닉 문제를 푼다는 생각을 했지만, 생각보다 손이 가지 않았다. 생각해보니 Python을 공부했던게 벌써 어언 3년이 지났었다. 어디서 좀 배우고 시작해야하나 싶었지만 어느날 이메일이 왔다.

호오... Kaggle에서 초보를 알아보고 자기네 사이트에서 기초 스킬을 쌓으라고 메일을 보낸 거였다. 고맙습니다. 하고 덥석 들어갔다.

Study : Hello Python

들어가보니 처음부터 끝까지 줄글로 쭉 적혀있고, 중간중간 코드가 적혀있는 형태였다.

Hello Python

Python의 모티브는 영국 여성인 '몬티 파이썬'에서 따왔다고 한다. 위키에 쳐보니 몬티 파이썬은 '몬티 파이썬의 비행 서커스' 를 창시한 희극인인데 프로그래밍과 무슨 관련이 있는 인물인진 모르겠다.

그러고 나아가다보니 신기한 코드를 발견했다.

spam_amount = 4
viking_song = "Spam " * spam_amount
print(viking_song)

이게 뭘까? 어떤게 출력될 것 같은가? 요즈음엔 국비과정에서 배운 자바가 익숙한 나에겐 "Spam " * 4 가 무슨 값이 나오리라고는 생각조차 못했다.

답은 Spam Spam Spam Spam 이었다. ㄴㅇㄱ

연산자 오버로딩 기능을 사용해서 나타내주는 녀석이었디. 그 밖엔 if문에서 익숙한 중괄호 대신 콜론을 써서 코드블럭을 표현해 준다는 것과 연산자 중 특이한 녀석들이 있었다.

연산자이름내용
a // b버림 나눗셈말 그대로 나눈 후 소수점 버림 연산한다
a ** b지수지수 곱셈 한다

외에는 min(1,2,3) 은 1이고 max(1,2,3) 은 3인 것, float(10)은 10.0이고 int(3.3)은 3이라는 기본적인 내용이 적혀있었다.

여길보면 알 수 있지만, 이제 step 1이 끝났고, step 7까지 쭉 나아가야한다. step 2는 함수, step 3는 if문과 제어하기 위한 boolean, step 4는 자료구조 중 List를 배우게 된다.

그런데 step 4 에서 imag 라는 신기한 함수를 보게 됐는데, 이건 허수부를 찾아주는 녀석이라고 한다. 외엔 list.append(매개변수)는 list 뒤에 자료를 더 붙여주기, list.index(매개변수) 순서 찾아주기 등 있었다. tuple과 차이점은 두가지 있었는데 1. tuple은 데이터 변경이 불가능하고, 2. 대괄호가 아닌 소괄호로 묶는다는 거였다. swap을 특이한 방식으로 진행하였는데, a=1 b=0 뒀을 때 a,b = b,a 만 적어줘도 swap이 된다는 거였다.

step 5는 반복문이다. print에 두 개의 매개변수를 쓰는건 처음봤는데, print(i, end=' ')하면 출력될 때마다 스페이스바가 뛰어나온다. print() 에 대한 모르는 것 중 하나였는데 end를 쓰지 않으면, print(end='\n')가 기본값이었다.

list와 for 조합은 생각 외로 다양하게 쓸 수 있었는데, 파이썬은 list 안에 직접 for문을 쓸 수도 있었다. 다음과 같이 num 을 정하기 위해 for-in-if 구문을 쓸 수도 있었다.

step 6 은 String 에 대한 이해를 높이는 내용이었다. startwith, endwith, split 등등 기본적으로 볼 수 있는 String 함수들이 있었다. 신선했던건 join 함수 였다.

join은 문자열이 있으면, 그 문자열 사이마다 지정된 문자를 넣는 함수였다. 또, sysout printf 대신 printf 에선 다음과 같은 형식을 썼다. 문자열에 .format을 붙여 출력하는 것이다. .format 의 매개변수를 한번만 출력할게 아니라 여러번 출력하고 싶을 땐 {0}, {1} 등 문자열을 넣어주게 되면 넣어줄 때마다 문자열에 첫번째와 두번째 매개변수를 넣어줄 수 있었다.

dictionaries는 중괄호를 사용하는데, Collection의 hashMap과 비슷한 형태로 생각할 수 있었다. 외에는 특별한게 없고 step 7은 라이브러리 쓰는 법이었다. 이 라이브러리를 쓰는 면에서 파이썬은 정말 특별했는데 변수에다 패키지를 넣을 수도 있다. 하지만, 보통 그 방식은 사용하지 않고 해당 라이브러리의 함수를 사용후 리턴값을 변수에 넣게된다.

이렇게 변수에다 numpy.ndrray 가 들어가게 되면 type 을 조사했을 때 해당 형태가 뜨게된다. 여기까지 오게되면 Learn Tutorial이 끝나게 되었다. 이제 Bonus : Titanic Tutorial로 갈 준비가 끝나게 되었다.

마무리하며

Bonus Titanic Tutorial은 좀 걸릴 것 같아서 따로 빼서 글을 써놓으려고 한다. 데이터 정리하는게 제법 재밌을 것 같다.

profile
호호선생

0개의 댓글