Data Manipulation_AI_BC_day03

dannialism·2021년 11월 19일
0

내용

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

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개의 댓글