Python

[Python] 판다스(Pandas) 라이브러리(Library)_4

구루싸 2019. 9. 15. 00:30
반응형
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를 이용하여 위도, 경도 좌표 정보를 가져오는 등

다양한 데이터 입출력 방법들은 다른 것들을 먼저 하고 필요하다면 진행하도록 하겠습니다

오늘은 이만-_-

 

반응형
LIST