파이썬의 데이터 분석 라이브러리
엑셀처럼 행과 열을 다루는 방식으로 데이터를 간편하게 처리한다.
index와 value로 이루어져 있고, 한가지 데이터 타입만 가질 수 있다.
List
, Array
, Dict
, Scalar
로 생성한다.
e.g. list : pd.Series([1,2,3,4]) dic : pd.Series({"1번":1,"2번":2,"3번":3,"4번":4}) array : pd.Series(np.array([1,2,3]))
🧷 int로만 이루어진 Series를 연산해보자
(str이 있다면 error)
🧷series의 data타입을 변경해보자
series의 dtype은 아래 문서를 통해 가능한 형태를 확인 할 수 있다.
(float의 경우 numpy모듈을 사용해야함)
🧷날짜데이터를 추출해보자
대규모 다차원 배열을 다룰 수 있게 도와주는 python 라이브러리
index, value, columns로 이루어진 2차원 테이블
data.DataFrame(data,index,columns)
형태로 생성한다.
e.g.
- data = numpy생성 난수
- index = 20210101~20210106의 날짜
- columns = "A","B","C","D"
➕ 딕셔너리 안의 리스트형태 {컬럼 : [리스트]}
컬럼명 : [데이터] 형태로 Dataframe에 넣어줌
➕ 리스트안에 딕셔너리 형태 [{컬럼명1 : 데이터1}]
리스트안에
{컬럼명1 : 데이터1 ,컬럼명2 : 데이터1,...},
{컬럼명1 : 데이터2, 컬럼명2 : 데이터2,...}
형태로 Dataframe에 넣어줌
head()
, tail()
index
,columns
, value
index,columns, value(=data_정보를 따로 추출 할 수 있다.
info()
데이터 프레임 정보 확인이 가능하다.
describe()
데이터프레임의 기술통계 정보확인
sort_values(by="컬럼명",ascending)
특정 컬렴을 기준으로 데이터 정렬
위에부터 B열 기준으로 내림차순 B열 기준으로 오름차순 -> inplace 원본 데이터 변경여부
data["컬럼명"]
data.컬럼명
data[["컬럼명","컬럼명"]]
특정 컬럼명 데이터 선택
-> series data타입으로 출력
isin("컬럼명")
특정요소가 있는지 확인
True False로 반환되며, 해당 data에 다시 넣어줄경우 True에 해당하는 행만 선택
[n:m]
행을 기준으로 n부터 m-1까지 선택
.loc[행범위 , 열범위]
인덱스의 이름과 컬럼명으로 행, 열 범위 선택
범위가 아닌 특정 컬럼명 지정["",""]
도 가능하다.
.iloc[행범위, 열범위]
컴퓨터가 인식하는 인덱스 값으로 선택
data["컬럼명"] > 0
bool type으로 출력
data[data["컬럼명"] > 0]
특정 컬럼에서 True인 행만 추출
➕ NaN : Not a Number
data["컬럼"] = [value]
del data["컬럼명"]
특정 컬럼 삭제
drop(["컬럼명 or 인덱스명"],axis = 1or2)
df.rename(columns = "{컬럼명:바꿀컬럼명}")
data["특정컬럼"].apply("적용문구")
❗ 파이썬 함수를 생성하여 사용도 가능
위와 같은 Dataframe 2개가 있을 때,
pd.merge()
()안에 합칠테이블1, 합칠테이블2, how = "" ,one = "키 컬럼명"
을 넣어준다
➕ how
생략
& inner
: 공통부분만 합치기
outer
: 모두 다 합치기
left
: 왼쪽 key 기준 합치기
right
: 오른쪽 key 기준 합치기
data_result.set_index("컬럼명",inplace=True)