Moonie

[빅데이터 분석기사 실기] 데이터 전처리 python 100 본문

공부/자격증

[빅데이터 분석기사 실기] 데이터 전처리 python 100

Moonie' 2024. 10. 11. 15:42
반응형

https://www.datamanim.com/dataset/99_pandas/pandasMain.html

 

판다스 연습 튜토리얼 — DataManim

판다스 연습 튜토리얼 9회 빅분기 실기 대비 강의, 블로그만으로는 도저히 안되겠다ㅠ 하시는분들에게 추천합니다. 아 제발 광고 한번씩만 눌러주세요 ㅠㅠ 두번은 더 좋구요 빅분기, adp 정보공

www.datamanim.com

 

데이터마님의 홈페이지를 참조해서 빅분기 실기를 준비하려고 한다.

막상 정리하다 보니 느낀 점은 데이터를 다뤄 본 사람은 스킵하고 바로 문제에서 실습하는게 나쁘지 않다 생각이 든다.

01 Getting & Knowing Data

Question 1 데이터를 로드하라. 데이터는 \t을 기준으로 구분되어있다.

 

롤 랭킹 데이터 가져오기

DataUrl = ‘https://raw.githubusercontent.com/Datamanim/pandas/main/lol.csv

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/Datamanim/pandas/main/lol.csv",sep='\t')
df.head()

padnas를 통해 인터넷에 있는 데이터를 바로 가져온다. sep 기준은 '\t' 로 가져온다.

 

Question 2 데이터의 상위 5개 행을 출력하라

df.head(5)

 

Question 3  데이터의 행과 열의 갯수를 파악하라

print(df.shape)
print(df.shape[0])
print(df.shape[1])

 

Question 4 전체 컬럼을 출력하라

print(df.columns)

 

 

Question 5 6번째 컬럼명을 출력하라

print(df.columns[5])

Question 7 데이터셋의 인덱스 구성은 어떤가

df.index

Question 8 6번째 컬럼의 3번째 값은 무엇인가?

df.iloc[2,5]

컬럼에 대해서 헷갈리기 쉬움으로 조심하자!

 

 

Question 9  데이터를 로드하라. 컬럼이 한글이기에 적절한 처리해줘야함

제주 날씨,인구에 따른 교통량데이터 : 출처 제주 데이터 허브 DataUrl = ‘https://raw.githubusercontent.com/Datamanim/pandas/main/Jeju.csv

DataUrl = 'https://raw.githubusercontent.com/Datamanim/pandas/main/Jeju.csv'
df = pd.read_csv(DataUrl,encoding='euc-kr')
print(df)

 

한글을 처리하려면 encoding='euc-kr' 파라미터를 추가하자

 

Question 10 데이터 마지막 3개행을 출력하라

df.tail(3)

 

위에서 부터 n개 출력 df.head(N) , 마지막 n개 출력 df.tail(N)

 

Question 11  수치형 변수를 가진 컬럼을 출력하라

Ans = df.select_dtypes(exclude=object).columns
Ans

 

df.select_dtypes 기능

기본 사용법
df.dtypes
* include 및 exclude는 비어있거나 겹치면 안되며(에러발생), 스칼라나 list형태의 입력값이 가능합니다.
자료형
1. 숫자형(numeric)은 np.number 또는 'number'
2. 문자형(str)은 'object'
3. 날짜,시간(datetimes)을 선택하려면 np.datetime64, 'datetime' 또는 'datetime64'
4. timedeltas는 np.timedelta64, 'timedelta' or 'timedelta64'
5. Pandas의 categorical 타입은 'category'

예시는 아래와 같다.

col1 = [1, 2, 3, 4, 5]
col2 = ['one', 'two', 'three', 'four', 'five']
col3 = [1.5, 2.5, 3.5, 4.5, 5.5]
col4 = [True, False, False, True, True]
df = pd.DataFrame({"col1": col1, "col2": col2, "col3": col3, "col4": col4})
result = df.select_dtypes(include =[float,object], exclude=['int64'])
print(result)
>>
    col2  col3
0    one   1.5
1    two   2.5
2  three   3.5
3   four   4.5
4   five   5.5

 

반응형
Comments