본문 바로가기
Aivle school DX track 3기/mini project

Mini project 1

by frmin04 2023. 2. 15.

Day1_ 2023.02.15

첫날은 개인 프로젝트로 진행되었다.

이번 프로젝트는 데이터 분석을 진행하기 전 데이터를 전처리하는 과정을 반복한다는 시간인 것 같았다.

모기 예보제 정보를 가지고 진행했다.

https://data.seoul.go.kr/dataList/OA-13285/S/1/datasetView.do

 

열린데이터광장 메인

데이터분류,데이터검색,데이터활용

data.seoul.go.kr

모기 예보제 정보는 시간에 따라 모기 지수가 기록되 시계열 데이터이다. 

 

오늘 알게된 데이터를 봤을때 생각해봐야 하는 것 (딱히 순서는 상관 없을듯)

 

1.중복된 값이 있나 확인한다.(예를들어 같은 날짜 기록이 여러개 일때)

  • .drop_duplicates(inplace=True, keep='first') : 해당 row데이터가 모두 똑같을 때 제거,  첫번째 행 save
  • 전날이나 다음날 데이터로 데이터 추이 확인 > 적절한 데이터만 남기고  삭제

    

 

2.null 값을 확인한다. 

  • dropna()로 삭제 후 다시 일일이 전후 데이터 추이를 확인해서 넣기(데이터 plot참고해서)
  • Nan을 drop하지 않고 >> fillna(method = 'ffill' / 'bfill') 로 Nan 채우기 
  • Nan을 drop하지 않고 >> 데이터 추이가 선형적이라면 interpolate()을 사용할 수도 있음.

 

Day2_ 2023.02.16

오늘도 전처리 하는 시간이었다.

어제보다는 한결 나은 느낌이었지만, 팀원들이 해결한 과정을 들어보니 내가 데이터에 대한 탐색을 좀 꼼꼼히 하지 못하는 편이라는 것을 느꼈다. 주어진 문제를 해결하는데만 너무 매몰되었던것 같다.

내가 얻으려는 답을 찾기 위해서 선택한 데이터의 index나 column에 대해 한번더 생각해보는 과정을 의식적으로 상기해봐야할 것 같다.

 

 오늘은 데이터의 개수를 확인하는 과정에서 nunique() , unique(), count(), value_counts() 의 차이에 대해 의문이 생겼다.

 

1. unique()와 value_counts()

  •  unique() : 해당 columns에 어떤 종류의 데이터가 있는지 출력
  • value_counts() : 각종류별로 몇개의 데이터가 있는지 셈
Grade
A
A
C
B

→ 'Grade' 라는 열에는 A, B, C  총 3개의종류가 있어서 출력값이  A, B, C가 된다.

 value_counts()는 A, B, C 가 종류별로 몇개의 데이터가 있는지 세어준다.(중복되는 값도 그대로 센다.)

value_counts()
A 2
B 1
C 1

2. nunique() : 고유한 요소의 수를 구한다.

 

Grade의 경우 A, B, C로 3종류가 있으므로 >> 3을 출력함 (중복되는 값은 세지 않는다.)

 

Day3_ 2023.02.17

오늘은 마지막날!! 조금 익숙해졌는지 많이 힘들진 않았다. 

null값 처리하고, 기존에 있던 정보들로 새로운 열을 만드는 과정을 했다. 

팀원들이랑 만나서 뭔가를 같이 하면서 느낀건데, 같은 문제를 가지고도 참 다양한 해결법들을 생각해내는 것 같다.

무엇보다 첫 팀플인데 , 팀원분들이 굉장히 적극적이었고, 좋은 분위기를 가진 분들이었다.

짬짬이 이야기도 많이 했고, MBTI 맞추기도 했다. 다음에 기회가 있을때 꼭 다시 만나고 싶은 분들이었다는 !!

 

오늘은 DataFrame에서 object  → 숫자로 바꾸는 과정을 정리해보려 한다. 생각보다 많이 쓰일 것  같다

#object >> int
#위치로 slice(시작점:start, 끝나는 점:stop) >> astype
df[''] = df[''].str.slice(start = , stop =  ).astype(int)

# 숫자+특수 기호 형태일때
#기호를 아무것도 없는 상태로 바꾸고, pd.to_numeric
df['']  = df[''].str.replace('특수기호', '')
df[''] = pd.to_numeric(df[''])

pandas.to_numeric(arg, error = 'raise', downcast = None ) 

arg: scalar, list, tuple, 1-d array, or Series

downcast : 저장하는 실수의 범위가 크지 않을때 이용할 수 있음.

 

'Aivle school DX track 3기 > mini project' 카테고리의 다른 글

Mini project3  (0) 2023.03.26