반응형
* 넘파이는 np, 판다스는 pd
import numpy as np
import pandas as pd
결측치
함수 | 설명 | 리턴값 | 비고 |
np.isnan(data) | data값이 nana값이면 True를 반환 | True or False | sosoeasy.tistory.com/188 |
df.fillna({"col":df["col"].mean()}) | "col"컬럼의 결측치를 평균으로 대체 | df | - |
데이터변환 (data transformation)
함수 | 설명 | 리턴값 | 비고 |
array.shape | 데이터의 모양을 확인 | 튜플형태로 | sosoeasy.tistory.com/187?category=891523 |
array.reshape(n,m) | 데이터 차원을 n,m으로 변환 | 있음 | sosoeasy.tistory.com/187?category=891523 |
np.concatenate((A,B),axis=0 or 1) | 데이터를 세로(axis=0) 혹은 가로(axis=1)로 붙이기 | 있음 | sosoeasy.tistory.com/187?category=891523 |
인덱싱
- iloc(index로)
함수 | 설명 | 리턴값 | 비고 |
array[:,c] | c열만 접근 | 있음 | sosoeasy.tistory.com/187?category=891523 |
train_x.iloc[[1,2,3,4]] | 데이터프레임에서 row 번호로 접근 | 데이터프레임 | https://sosoeasy.tistory.com/477 |
df.iloc[:,:3] | 3번 칼럼까지 반환 | 데이터프레임 | https://sosoeasy.tistory.com/477 |
df.iloc[2:3,[4,6]] | 연속된 값은 무괄호, 비연속된 값은 괄호 | 데이터프레임 | - |
- loc(label로)
함수 | 설명 | 리턴값 | 비고 |
array[:,c] | c열만 접근 | 있음 | sosoeasy.tistory.com/187?category=891523 |
df.loc[인덱스][컬럼명] | loc로 인덱스, 컬럼명으로 접근 | 값 | https://sosoeasy.tistory.com/477 |
df.loc[df["col"]=="x"] | col 컬럼의 값이 x 인것 찾기 | 데이터프레임 | https://sosoeasy.tistory.com/477 |
df.loc[:, [col for col in df.columns if col != "except_col"]] | 특정 컬럼 제외하기 | 데이터프레임 | sosoeasy.tistory.com/476 |
df.loc[i] | 행단위 읽기 | 판다스 series |
파일 입출력
함수 | 설명 | 리턴값 | 비고 |
df.read_csv("file_name") | 파일을 읽어와서 df형식으로 바꿈 | df | sosoeasy.tistory.com/184?category=891523 |
df.to_csv("file_name",mode="w") | 파일 쓰기 | 없음 | sosoeasy.tistory.com/184?category=891523 |
특성 추출
함수 | 설명 | 리턴값 | 비고 |
np.array.max() | nparray에서 최댓값 추출 (2차원이상일때도 최댓값 반환) | 최댓값 | |
데이터 프레임 관련 함수
함수 | 설명 | 리턴값 | 비고 |
df=pd.DataFrame(data=[[1,2],[3,4]], columns=["a","b"]) | 새로운 데이터프레임 만들기 | 데이터프레임 | sosoeasy.tistory.com/465 |
df=df.append({"column":value},ignore_index=True) | 데이터 추가 | 데이터프레임 | sosoeasy.tistory.com/466 |
df.columns | 컬럼확인 | 판다스 index | - |
df.columns=["a","b"...] | 컬럼 수정 or 초기화 | - | - |
df.head(n), df.tail(n) | 상위, 하위 n개 보기 | 데이터프레임 | sosoeasy.tistory.com/467 |
df.dtypes | 모든 컬럼 데이터타입 보기 | 판다스 series | sosoeasy.tistory.com/468 |
df.info() | 타입, 결측치 개수 확인 | 데이터프레임 | sosoeasy.tistory.com/467 |
df.describe() | 요약통계량 반환 | 데이터프레임 | sosoeasy.tistory.com/467 |
newDf=pd.concat((df1,df2)) | 데이터프레임 세로로 이어붙이기 (컬럼개수, 이름은 같아야함) | 데이터프레임 | sosoeasy.tistory.com/469 |
newDf=pd.concat([df1,df2],axis=1) | 데이터프레임 가로로 이어붙이기 (row개수는 같아야함) |
데이터프레임 | sosoeasy.tistory.com/469 |
df['Survived'].value_counts() | 특정 att에서 도매인별 개수를 카운트 | 판다스 series | sosoeasy.tistory.com/470 |
df.isnull() | 값이 결측치이면 true, 아니면 false | 데이터프레임 | sosoeasy.tistory.com/471 |
df.groupby(['a','b'])['a'].count() | a를 기준으로 b의 개수를 셈 | 판다스 series | sosoeasy.tistory.com/472 |
df.set_index('데이터프레임의 인덱스로 설정할 att의 이름', inplace=True) | 데이터프레임의 index설정 | - | sosoeasy.tistory.com/473 |
df[["column1","column2"]] | 특정 속성을 데이터프레임으로 보기 | 데이터프레임 | sosoeasy.tistory.com/474 |
pd.get_dummies(df['column']) | 더미데이터 만들기(원핫코딩) | 데이터프레임 | sosoeasy.tistory.com/475 |
df.sort_values(by="정렬기준이 될 변수 이름", ascending=True) #ascending:오름차순여부 | 정렬 | 데이터프레임 | - |
df.nunique() | 컬럼별 유일한 값 개수 | 판다스 series | https://sosoeasy.tistory.com/489 |
df["gender"].unique() | 유일한 값 반환 | 넘파이 array | https://sosoeasy.tistory.com/489 |
df[컬럼].apply(함수) | 특정 컬럼에 함수를 적용해 주는 함수 | 판다스 series | https://sosoeasy.tistory.com/559 |
df[(df[col]==3) &(df[col]==4 | df[col]==6) &(df[col]==5)] |
조건에 맞게 추출 괄호로 묶어줘야 함 |
데이터프레임 | |
df.col.str.split(pat="문자",expand=True) | col을 "문자"를 기준으로 split한 후 데이터프레임으로 반환 | 데이터프레임 | https://sosoeasy.tistory.com/582 |
반응형