Cheat Sheet! 왜 필요할까?
Data Engineering 인턴을 경험하면서 나는 ETL 작성을 주업무로 맡게 되었다. R 코드로 작성된 레거시 파일을 Python 코드로 마이그레이션 하는 업무인데, 가끔씩 data 요청사항이 있으면 직접 로직을 구현하는 경우도 있었다. 보통 data 가공을 DataFrame으로 만들어 Pandas 문법을 사용하는데, 자주 사용했던 문법도 기억이 안나서 구글링으로 시간을 낭비했던 경험이 꽤 있다. 그래서! “구글링의 속도를 높여줄 혹은 구글링이 필요 없을 정도의 Cheat Sheet을 만들어두면 굉장히 편할 것 같다!” 라고 생각한다. 약 8개월간의 인턴생활중 자주 사용했던 Pandas 문법을 정리해보겠다.
우선 Pandas 문법을 크게 세가지로 분류하겠다.
- Input/output
- pandas의 input output 관련 문법
- ex) read_csv,to_json…
- General functions
- DataFrame 자체를 가공하는 문법..?
- ex) pd.merge(), pd.concat()…
- DataFrame
- DataFrame 이 갖고있는 메소드..?
- ex) DataFrame.astype, DataFrame.pop…
Input/output
- read_csv
- to_csv
General functinons
DataFrame 합치기 관련
-
pandas.merge
- n개의 dataframe을 merge 또는 join
-
pandas.concat
- n개의 dataframe을 단순히 합침
DataFrame 중복제거 관련
-
pandas.unique
- 중복된 값을 제거
DataFrame Nan값 관련
-
pandas.isna
- Nan인 값 True
-
pandas.notna
- Nan이 아닌 값 True
- Nan이 아닌 값 True
- isnull, notnull 도 있음
DataFrame
DataFrame Info 관련
-
pandas.DataFrame.dtypes
- column들의 type 출력
-
pandas.DataFrame.shape
- df의 column과 row수 출력
-
pandas.DataFrame.head
- df의 상위 n개의 정보 출력
DataFrame value 관련
-
pandas.DataFrame.values
- df의 value들을 출력
- ex) df[“A”].values.to_list() -> A컬럼의 value들을 list로 변경함
-
pandas.DataFrame.value_counts
- df의 value 수 출력
-
pandas.DataFrame.sort_values
- df의 값을 df의 X column value 기준으로 정렬
DataFrame index 관련
-
pandas.DataFrame.reset_index
- df의 index를 reset
-
pandas.DataFrame.set_index
- df의 X column으로 index 설정
DataFrame column 관련
-
pandas.DataFrame.rename
- column 명을 변경
-
pandas.DataFrame.astype
- column의 type 변경
DataFrame 조건 추출 관련
-
pandas.DataFrame.where
- 특정 조건을 만족하지 않은 값, False인 값을 특정 값으로 변경
-
pandas.DataFrame.mask
- 특정 조건을 만족하는 값, True인 값을 특정 값으로 변경
-
pandas.DataFrame.equals
- DataFrame과 DataFrame을 비교하여 True of False 추출
DataFrame Nan 관련
-
pandas.DataFrame.dropna
- Nan값 drop
DataFrame 중복제거 관련
-
pandas.DataFrame.drop_duplicates
- 중복된 값 drop
DataFrame groupby 관련
-
pandas.DataFrame.groupby
- 특정 컬럼으로 groupby 후 min(),max() 등의 함수 적용하여 새로운 DataFrame 생성
-
pandas.DataFrame.agg
- 특정 컬럼으로 groupby 후 커스텀 함수 적용하여 새로운 DataFrame 생성
- 특정 컬럼으로 groupby 후 커스텀 함수 적용하여 새로운 DataFrame 생성
- groupby에는 추가 메소드가 존재함!
DataFrame 특정 함수 적용 관련
-
pandas.DataFrame.apply
- axis 기준으로 row 또는 column의 value들이 인자 값으로 넘어가는데, 해당 인자 값을 커스텀 함수로 변경 후 return 가능.
DataFrame col <-> row 변형 관련
-
pandas.DataFrame.stack
-
pandas.DataFrame.T
ETC…
-
DataFrame의 간단한 조건 추출
- A라는 Data Frame이 있다고 가정해보자
- A[A[“pnu”]==”123”] -> pnu가 123인 값들로 새로운 df를 생성한다.
-
DataFrame과 Series의 차이
- Series는 contains나 .str을 적용할 수 없다.
- DataFrame은 df.str.contains(“x”) 사용 가능하지만, Series는 pd.Series([1,2]) in [1] 로 사용해야한다.
-
DataFrame.str
- python string 관련 메소드를 df에 적용하고 싶을 때 사용, df에 적용하면 vector값으로 계산이 가능하다.
사용하기 어려운 문법
사용하기 어려운 문법은, 다음에 더 자세히 정리해서 포스팅하겠다. 우선 갑자기 어떤 문법을 사용해야하는데 생각이 안난다! 싶으면 해당 문법이 어떤 카테고리인지 생각해보고 Cheat Sheet에 와서 ctrl+F를 해보자! Cheat Sheet에 각각의 문법에 해시태그를 추가해서 키워드로 검색이 가능해서 구글링의 편의성을 늘려보자!
pandas doumentation API reference <- 여기에 다~~ 있다!
이제부터 공식문서를 보는 힘을 기르자! 아자아자 화이팅!
댓글남기기