Data Scientist/Python

[Python 기초] Pandas(dataframe만들기, CSV/HTML로 Data 불러오기)

dkrehd 2022. 1. 4. 10:32
728x90
반응형

Pandas Basics

 
파이썬에서 데이터 분석을 하기 위한 중요한 라이브러리 이고, 파이썬에서의 엑셀 이라고 볼수 있다. 데이터 프레임은 데이터를 행과 열을 이용하여 데이터를 다루는 영역이다. 시리즈는 데이터 프레임의 하나의 열, 배열이라고 볼수 있다
처음은 이게 무슨말인지 이해가 안될 수 있다. 하나씩 차근 차근 알아가보자

먼저 판다스 라이브러리를 호출 해보자. 다음과 같이 코드를 작성하면 된다.

import pandas as pd

먼저 2개의 리스트를 만들어보자

my_list = ['AAPL', 'AMZN', 'T']
label = ['stock#1','stock#2','stock#3']

 

[Series]

시리즈는 판다스의 일차원 배열이라고 보면 된다. 이 시리즈는 데이터와 별명을 기반으로 이루어진다. 코드로 알아보자

 

1) 2개의 리스트를 이용해서 시리즈를 만들기

x_series = pd.Series(data = my_list, index = label)
x_series

type이 객체로 표현 된다.

 

2) type함수를 써서 datatype을 알아보자

type(x_series)

 

[DataFrame]

아래와 같은 형태가 데이터 프레임 형식이다. 이제 우리는 이런 데이터 형식을 만들어 볼 것이다. 물론 추후에는 직접 만드는 것이 아니라 CSV파일 형태나 크롤링을 통해 HTML형식으로 받아와서 데이터 프레임 형식으로 전환하는것을 자주 할것이지만 기본이 중요하기에 이 데이터 프레임이라는 형식이 어떻게 이루어져 있는지 코드로 알아봐보자

1) 위의 이미지와 동일한 DataFrame 만들기

 : 데이터 프레임이 딕셔너리 형식으로 이루어져 있다는 것이 포인트 이다!

bank_client_df = pd.DataFrame({'Bank client ID':[111,222,333,444],
                               'Bank client Name':['Chanel','Steve','Mitch','Ryan'],
                               'New Worth [$]':[3500,29000,10000,2000],
                               'Years with bank':[3,4,9,5]})
bank_client_df

2) type함수를 이용해서 이 객체의 datatype 알아보기

type(bank_client_df)

 

3) head()함수를 이용해서 맨 윗줄 2행 가져오기

bank_client_df.head(2)

 

4) tail()함수를 이용해서 맨 아랫 줄 2행 가져오기

bank_client_df.tail(2)

 

반응형

 

[Pandas를 이용하여 CSV파일, HTML Data 읽기]

Colab으로 할 것이기 때문에 우선 google drive에 접근할 수 있게 셋팅을 해야한다.

(Colab을 안쓴다면 패스 해도 좋다.

from google.colab import drive
drive.mount('/content/drive')

다음과 같이 작성하고 실행을 하면 output 창에 url이 하나뜨는데 그것을 클릭 하면 구글 계정 목록이 뜰것이다.

본인의 계정을 클릭 하면 권한에 대한 승인 관련 창이 하나 뜨는데 거기서 허용을 클릭하면 된다.

 

그럼 drive/mounted 라고 뜰것이다!

 

그런 다음 구글 드라이브에 분석하기 위한 csv파일을 올려둔 곳을 찾는다.

저 같은 경우는 파이썬 밑에 bank_client_information.csv파일을 사용 할 것이기 때문에 이 파일에 마우스를 가져다 대고 우클릭을 하면 경로 복사가 있다. 그것을 클릭 한다

 

1) read_csv 함수를 이용하여 CSV 파일 읽기

bank_df = pd.read_csv('/content/drive/MyDrive/파이썬/bank_client_information.csv')
bank_df

2) to_csv 함수를 이용하여 CSV 파일 저장하기

 : 우리가 만든 DataFrame객체에 .to_csv만 해주면 된다. 여기서 index=False의 의미는 위의 Dataframe의 맨 좌측의 0,1,2 이부분을 빼고 저장하겠다 라는 의미다.

bank_client_df.to_csv('sample_output.csv', index=False)

 

3) read_html 함수를 이용하여 data 읽어 오기

우리는 아래 링크의 하기 테이블을 읽어 올 것이다. 어떻게 읽어오는지 코드로 살펴보자

  : https://www.livingin-canada.com/house-prices-canada.html

: read_html함수에 해당 링크만 넣어 주면 된다! 너무 파워풀하지 않은가 !!

house_price_df = pd.read_html('https://www.livingin-canada.com/house-prices-canada.html')
house_price_df[0]

0이라는 숫자의 의미는 해당 링크 내에 테이블이 여러개 있는데 그중 첫번째 테이블을 가져오겠다는 의미다.

 

자 이렇게 Pandas의 시리즈, DataFrame, CSV/HTML을 이용한 Data 불러오기를 해보았다. 다음 포스팅에서는 이렇게 가져온 데이터를 어떻게 다루는지에 대해서 공부해보자.

 

 

 

 

반응형