거울아거울아 스터디 - 2
views
피자와 함께

요약 과정에서 무엇을 배웠는가?

현주님이 2.12장 까지의 요약을 준비해 주셨습니다. CSV파일로 저장되어 있는 데이터를 기본 파이썬 코드와 팬더스로 다루는 것을 공부했습니다.

연속된 행 선택하기

기본 파이썬 코드는 for문으로 row를 순환하면서 조건에 맞을 경우 writerow(row) 함수를 써서 저장한다. 팬더스에서는 drop속성을 써서 지정한 행을 삭제한 후 to_csv 함수를 써서 저장한다.

헤더 추가하기

기본 파이썬 코드는 writerow함수로 헤더를 먼저 쓰고 나머지 데이터를 쓴다. 팬더스에서는 pd.read_csv의 속성을 활용해서 헤더를 쓴다.

여러 파일의 데이터 합치기

3개의 파일(sales_february_2014.csv, sales_january_2014.csv, sales_march_2014.csv)을 합치는 작업이다. glob과 os.path를 활용해서 파일명 리스트를 만든다. 기본 파이썬 코드는 for문으로 파일명 리스트의 파일을 차례로 열고 각 파일을 row들을 차례로 csv파일로 쓴다. 팬더스에서는 concat 메소드를 써서 3개의 데이터프레임을 하나로 합친다.

연습문제 (팬더스만)

Bool 타입의 새로운 열을 추가하여 필터링을 구현할 수 있다. 특정 열만 골라서 새로운 데이터프레임을 만들어 출력할 수 있다.

심화 과정에서 무엇을 배웠는가?

규승님이 ipython notebook으로 우리 회사의 데이터로 데이터를 읽고 구경하고 선택하고 정렬하고 조작하고 데이터를 묶고 결합하는것을 보여주셨습니다.

데이터 탐색하기

df.head로 데이터프레임 훓어보고 df.shpe로 데이터 프레임 사이즈를 측정하고 df.describe로 각 열별 정보(개수, 합계, 평균, min, max 등)를 볼 수 있다.

데이터 선택, 정렬하기

.iloc .loc를 이용해서 필요한 열과 행을 선택할 수 있다.

데이터 조작하기

컬럼을 추가하고 내용을 입력하는 것, 한 컬럼의 값A를 골라 전부 B로 대체하는것을 공부했다. 또한 lamda함수를 이용해 한 줄로 함수를 만드는 것도 공부했다.

데이터 묶기, 결합하기

‘groupby 메소드로 합계나 평균을 내는 것과 merge를 이용해서 테이블 결합하는 것을 공부했다.

어땠는가?

책 내용 요약은 현주님의 성실한 준비로 알차고 효율적이었고, 심화 학습은 규승님이 우리 회사의 데이터를 기반으로 준비하여 현실감 느껴져서 좋았다. 특히 groupby, merge 메소드와 lambda함수가 유용할 것 같아 기억에 남는다. 호성님의 라이브 코딩도 실제 코딩을 하는 경험을 간접적으로 할 수 있어서 신선했다. 에러메세지와 대화하면서 디버깅해내가는 것을 보니 에러메세지가 친근하게 느껴졌다. 스터디를 시작하기 전에 각자 몇 시간 공부했는지를 이야기했는데 대략 3~5시간 정도였다. 직장을 다니면서 일주일에 꾸준한 공부시간을 내는 것이 얼마나 어려운 일인지는 모두 아시리라 생각한다. 솔직히 첫 번째 스터디를 참여한 인원 중 몇몇은 두 번째 부터 나오지 않을 것이라 생각했었다. 오래 전 내가 경험한 대부분의 스터디가 그러한 경향을 보였기도 하고 내용이 코딩인데 스터디 참여자의 절반은 문과생이어서 너무 생소하지 않을까 싶었다. 그런 생각을 했다는 그런데 두 번째 스터디 참여자가 첫 번째 스터디 참여자보다 많아서 놀랐다. 포기자에 대한 생각을 했던 내 자신이 조금 부끄러웠고 배움에 대한 열정들이 내게도 긍정적인 자극이 되었다.

끝까지 화이팅!

아 그리고 피자가 맛있었다. (웃음)