Data Manipulation_AI_BC_day03

dannialism·2021년 11월 19일

내용

파편화되어 있는 데이터 혹은, 가공되어 있지 않는 데이터는 쉽게 알아보기 어렵다.
데이터를 사용하기 전에 데이터를 다듬는 작업이 필요하다.
요리를 하기 전에 재료를 다듬는 것과 같다.
파를 자르더라도 요리마다 파 모양을 다르게 썰어 내는 것과 같다.

Tidy 데이터.
인간의 관점이 아닌 CPU의 관점에서 정리한 데이터.
feature, obvservation, value 를 하나의 행으로 표현한다.
(계속 보니 이 방법이 더 보기 쉽다고 느낀다.)
.melt 를 사용하여 tidy 데이터를 만들고 .pivot_table 로 wide 데이터를 만든다.

concat 은 물리적으로 결합.
merge 는 집합 개념을 사용하여 데이터를 합친다.
(iner, outer, left, right)

condition.

pandas 에서는 파이썬의 if 와 달리 직접 condition 을 만든다.

사용한 코드

.iloc[0] : 0번째 행을 선택한다. default 값으로 행을 선택.
.iloc[0,3] : 0,3번째 행을 선택.
.iloc[:,0] : 0번째 열을 선택.
df[1:] : 데이터의 2번째 행부터 사용.
df.columns = : df의 columns을 어떤 변수의 값으로 사용.
pd.concat([df1,df2]) : 데이터를 물리적으로 병합한다.
df[-1:] : 마지막 행을 선택

df.melt(id_vars = ['행'], value_vars = ['열', '열2']) : tidy data 를 만들 때 원본 column 중에서 원하는 열을 obvservation 또는 feature 로 정할 수 있다.

pd.merge(left, right, how = 'left', on = ['key1','key2']) : merge를 할 때 어떤 데이터를 합칠 지 먼저 기입을 하고 다음 방법, 기준을 정한다.

things to acheive

문제에는 핵심이 있다. 핵심을 찾아 공략하여 제 시간에 마칠 수 있었다.
pandas를 다루기 위해 시간을 계속 투자해야 한다.
데이터를 다룰 때 어떤 개념으로 접근해야 할 지 생각해야 한다.
코드는 이미 존재한다. 시간이 지나면 코드는 익숙해 질 것이다.
차이를 내는 것은 관점이 될 것이다.

profile
danny + realism

0개의 댓글