Pandas (panel data system)
panel=group
데이터 조작,분석을 위한 python 언어 용도로 작성된 소프트웨어 라이브러리
숫자 테이블, 시계열을 조작하기 위한 구조
특징
-
row-first , column-second
-
Indexing in two ways
-
데이터분석에 특화된 데이터 구조를 제공
-
다양한 데이터 분석 함수를 제공
-
다른 시스템에 쉽게 연결가능
Flask library:웹개발
SQL : 데이터베이스
Sklearn : 머신러닝
설치, import
!pip install pandas
import numpy as np
import pandas as pd
Series,DataFrame
Series(1차원 배열 자료 구조)
DataFrame(2차원 자료 구조)
복잡한 기능을 구현하기 쉽고, 데이터 전처리를 용이
numpy 라이브러리에서 지원하는 수학 및 통계 연산을 그대로 이용가능
직관적, excel 스프레드시트랑 동일
series가 합쳐진 형태
Data 가져오기
from google.colab import files
uploaded = files.upload()
df = pd.read_csv('파일명')
만든 DataFrame을 csv로 저장
df=pd.DataFrame({'a':[1,2,3], 'b':[2,3,4]})
df.to_csv('df.csv')
'df.csv' : df를 저장할 파일 이름
1.DataFrame 만들기
import pandas as pd
data={'Age':[25,28,22],'Name':['s1','s2','s3'],'score':[95,85,75]}
df=pd.DataFrame(data,index=[],columns=[])
index=['행이름']
columns=['구현하고 싶은 열 이름']
2.DataFrame 활용
df.ndim : number of dimension in df
df.ndim -> 2
df.shape : shape of df
df.shape -> (3,3)
df['columns'] : 인덱싱과 비슷함. []안에는 하나의 값만 가능
df['Score']
0 95
1 85
2 75
df.drop([],axis=) : 제거할 줄을 고르고 그 줄이 속한 차원을 axis에 입력
df.drop(['Age'],axis=1)
Pandas는 column 벡터가 기본
df['column']
df.column
df['행'] -----> x
-> 위와 같이 행을 가져올때는 새로운 방법을 사용
loc , iloc
loc은 label 값으로 접근
df.loc[0] ## 0행의 값 추출
df.loc[0,'Name']
df.loc[[0,2],['Name','Age']] ->특정 라벨의 값을 입력한 순서로 가져옴
df.loc[0:2,'Name':'Age'] ->흔히 알고있는 슬라이싱과 다르게 뒤에값까지 포함
iloc은 index으로 값으로 접근
df.iloc[0,0]
df.iloc[[0,1],[1,2]]
df.iloc[0:2,0:2]
Pandas 내장 함수
df.uique() -중복된 값들을 하나로 보고 반환