반응형
SMALL
지금까지 판다스에서 제공하는 데이터 형식인 시리즈(Series)와 데이터프레임(Dataframe)에 대해 알아보았습니다
이제 데이터 분석을 위해 필요한 작업은 데이터들을 외부에서 가져와서 여태 공부한 시리즈나 데이터프레임으로 변환하는 작업일 것입니다
그렇다면 오늘할 공부는 당연히 데이터들을 외부에서 가져오는 방법이겠죠-_-
판다스는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 함수를 제공합니다
어떤 파일이든 일단 판다스 객체인 데이터프레임으로 변환되면 판다스가 제공하는 기능들을 이용할 수 있게됩니다
아래의 표는 https://pandas.pydata.org/index.html 에서 제공하는 입출력 도구입니다
File Format | Reader | Writer |
CSV(Comma-Separated Values) | read_csv | to_csv |
JSON | read_json | to_json |
HTML | read_html | to_html |
Local clipboard | read_clipboard | to_clipboard |
MS Excel | read_excel | to_excel |
HDF5 Format | read_hdf | to_hdf |
SQL | read_sql | to_sql |
# 판다스(Pandas)
import pandas
data1 = {'이름' : [ '영수', '철수', '영희' ], '국어' : [ 100, 90, 80 ], '영어' : [ 90, 80, 70 ], '수학' : [ 95, 85, 75 ]}
data2 = {'이름' : [ '지혜', '지현', '소연' ], '국어' : [ 100, 90, 80 ], '영어' : [ 90, 80, 70 ], '수학' : [ 95, 85, 75 ]}
df1 = pandas.DataFrame(data1)
df1.set_index('이름', inplace = True)
df2 = pandas.DataFrame(data2)
df2.set_index('이름', inplace = True)
print(df1, end = '\n')
print(df2, end = '\n')
filepath = "/Users/dennis_sa/Documents/"
#to_csv() 메소드를 이용하여 csv파일 쓰기
df1.to_csv(filepath + ".csv")
#read_csv() 함수로 데이터프레임 변환
#OPTION
#header : 기본값은 0, header가 없는 파일인 경우 None으로 지정
#index_col : 행 인덱스로 사용할 열의 번호 또는 열 이름
read_data = pandas.read_csv(filepath+"csv_example.csv", index_col = '이름', header = 0)
print(read_data, end = '\n')
#to_excel() 메소드를 이용하여 excel파일 쓰기
writer = pandas.ExcelWriter(filepath+"xlsx_example.xlsx")
df1.to_excel(writer, sheet_name = "sheet1")
df2.to_excel(writer, sheet_name = "sheet2")
writer.save() #실제로 파일이 저장됨
#read_excel() 함수로 데이터프레임 변환
read_data = pandas.read_excel(filepath+"xlsx_example.xlsx", index_col = '이름', header = 0, sheet_name = 'sheet2')
print(read_data, end = '\n')
#to_json() 메소드를 이용하여 json파일 쓰기
df1.to_json(filepath + "json_example.json")
#read_json() 함수로 데이터프레임 변환
read_data = pandas.read_json(filepath + "json_example.json")
print("Read Json File\n", read_data, end = '\n')
위의 코드는 CSV, EXCEL, JSON파일을 데이터프레임 형태로 읽고 쓰고 있습니다
함수(Funtion) 혹은 메소드(Method)의 옵션은 거의 흡사하고 작성한 것 외에 다양하므로 위의 사이트에서 확인해보는 것도 좋겠습니다
이 밖에도 BeautifulSoup와 같은 웹 스크래핑(scraping) 도구를 이용한 데이터 수집이나
구글(Google)의 지오코딩(Geocoding) API를 이용하여 위도, 경도 좌표 정보를 가져오는 등
다양한 데이터 입출력 방법들은 다른 것들을 먼저 하고 필요하다면 진행하도록 하겠습니다
...더보기
머신러닝(Machine Learing)에 유용한 데이터셋(Dataset) 소스(Source)
- 사이킷런(scikit-learn), 시본(seaborn) 등의 파이썬 라이브러리 제공 데이터셋
- 캐글(kaggle) : https://www.kaggle.com/
- 공공 데이터 : WorldBank, WTO, 국가통계포털 등
- UCI 머신러닝 저장소 : https://archive.ics.uci.edu/ml/index.php
오늘은 이만-_-
반응형
LIST
'Python' 카테고리의 다른 글
[Python] 판다스(Pandas) 라이브러리(Library)_6 (1) | 2019.09.20 |
---|---|
[Python] 판다스(Pandas) 라이브러리(Library)_5 (0) | 2019.09.17 |
[Python] 판다스(Pandas) 라이브러리(Library)_3 (0) | 2019.09.14 |
[Python] 판다스(Pandas) 라이브러리(Library)_2 (0) | 2019.09.14 |
[Python] 판다스(Pandas) 라이브러리(Library)_1 (0) | 2019.09.09 |