-
데이터 사이언스: Pandas 시리즈(Series)와 데이터 프레임(Data Frame) 공부하기!데이터 사이언스 2020. 7. 21. 00:52
Pandas에서 제공하는 라이브러리인 시리즈(Series)와 데이터프레임(DataFrame)을 공부하겠습니다.
판다스에는 일차원 데이터를 위한 시리즈(Series)와 고차원 배열을 다루기 위한 데이터프레임(Data Frame)이 있습니다.
그리고 이 판다스를 통해서 SQL, 엑셀파일, csv파일을 가져와 데이터를 활용할 수 있죠
< 시리즈(Series) >
시리즈는 1차원 배열의 데이터를 다루는 자료구조입니다.
시리즈와 1차원 넘파이(numpy)배열은 유사하지만 판다스에서 더 많은 기능을 제공합니다.
시리즈는 파이썬의 딕셔너리와 유사해서 이와 연관지으면 이해하기 쉽습니다.
예를 들어
딕셔너리에서 key와 value가 있다면
시리즈에서는 index와 data가 있습니다.
다만 시리즈의 경우에는 행렬로 표현된다는 차이점이 있습니다.
index = [1, 2, 3, 4] data = ["A", "B", "C", "D"] series_data = pd.Series(index, data) series_data
A 1 B 2 C 3 D 4 dtype: int64
시리즈 리스트 슬라이싱
series_data[:"C"] series_data.loc[:"C"] series_data.iloc[:3]
A 1 B 2 C 3 dtype: int64
위 세가지 경우 모든 같은 형태를 출력합니다.
loc는 location, 즉 위치를 의미하고
iloc는 index location 인덱스 값으로 리스트를 슬라이싱 합니다.
< 데이터 프레임(Data Frame) >
데이터 프레임은 시리즈에서 더 나아가 2차원 배열 형태의 데이터를 다루는 자료구조입니다.
리스트로부터 pandas 데이터프레임 받기
import pandas as pd import numpy as np array = [["홍길동", 25, "남"], ["철수", 25, "남"], ["바둑이", 20, "여"]] pd_array = pd.DataFrame(array, columns = ["이름", "나이", "성별"], index = ["a", "b", "c"]) pd_array
columns와 index의 이름을 지정해주면서 위와 같은 표를 만들 수 있습니다.
numpy 배열로부터 pandas 데이터 프레임받기
np_array = np.array(array) pd_array2 = pd.DataFrame(np_array) pd_array2
numpy배열을 매개변수로 해도 문제 없이 데이터프레임으로 받아올 수 있습니다.
딕셔너리로 데이터 프레임 받아오기
dic = {"홍길동": ["남", 25], "철수":["남", 22], "영희":["여", 40]} pd.DataFrame(dic)
시리즈를 이용해서 데이터 프레임 받기
array = [["홍길동", 25, "남"], ["철수", 25, "남"], ["바둑이", 20, "여"]] list_of_series = [pd.Series(array[0]),pd.Series(array[1]), pd.Series(array[2])] list_of_series
[0 홍길동 1 25 2 남 dtype: object, 0 철수 1 25 2 남 dtype: object, 0 바둑이 1 20 2 여 dtype: object]
pd_array = pd.DataFrame(list_of_series) pd_array
반응형'데이터 사이언스' 카테고리의 다른 글
데이터 사이언스: Pandas 잘못된 데이터 고치기 (rename, set_index) (0) 2020.07.25 데이터 사이언스: Pandas 데이터(csv파일) 받아오기, 인덱싱(Indexing), 데이터 변형 공부하기! (0) 2020.07.24 데이터 사이언스: numpy 연산과 통계 값들 구하기(표준편차, 분산, 평균, 중앙값...) (0) 2020.07.18 데이터 사이언스: numpy 기본사용법과 인덱싱(Indexing) 공부하기! (0) 2020.07.18 데이터 사이언스: Jupyter Notebook! 알아두면 유용한 기본단축키와 Markdown 활용법! (0) 2020.07.14