여정의 기록

파이썬을 이용해서 Series와 DataFrame 분석하는 함수를 몇가지 기록함 본문

공부중 .../데이터과학개론

파이썬을 이용해서 Series와 DataFrame 분석하는 함수를 몇가지 기록함

Chelsey 2022. 12. 8. 18:23
728x90

Series

1차원 배열의 데이터 타입

data.loc[1:3] 의 경우 인덱스값 3도 포함한다. (위치 인덱스 숫자가 아닌 테이블의 인덱스값을 이용한다) 
+ data.loc[1:3, ['col1','col3']] 이렇게해서 열도 선택할 수 있다.

np.where 조건에 맞는 인덱스 추출

sample 데이터 프레임 행 중 랜덤으로 추출

  • data.sample(n=5) n개의 행 추출
  • data.sample(frac=0.5) 데이터 전체 중 frac 비율만 추출

누락 데이터 missing data - 관측값이 존재를 안함

  • NaN 으로 표시
  • 누락된 데이터 채우기 - imputation
  • fillna
  • dropna - NaN 존재하는 행 모두 삭제
data.fillna( {'col1': 10} )

data = data.dropna()

reset_index 인덱스 재설정

  • 기존 인덱스 설정을 삭제하고 0 ~ 다시 인덱스 재설정
  • drop = True 설정 해줘야한다
data = data.reset_index(drop=True)

 

중복 데이터 관리하기 drop_duplicate()

dup_data.drop_duplicate( subset=['검증할컬럼'], keep="first", inplace=True)
# subset : 어떤 컬럼에서 중복을 확인할 것인가?
# keep : 중복된 것을 삭제할 때 몇 번째 행의 것을 남길 것인가?

 

apply

  • 행(axis=1) or 열(axis=0) 에 함수를 쉽게 적용할 수 있다.
  • apply와 lambda의 조합
# dataframe에 적용
data['date'] = data.apply( lambda row: row['col1'].split()[0], axis=1 )

# Series에도 적용가능한데, axis를 주지 않아도 되는 특징이 있다.
data['col1'].map(lambda col1: col1.split()[0])

applymap

pd.DataFrame({"a":[1,2], "b":[3,4]}).applymap(lambda x:x+1))
728x90