반응형
Pandas DataFrame cheatsheet
데이터 분석을 한층 편리하게 해 줄 여러 가지 기능들
내가 아직 외우지 못한 기능을 한 번에 찾을 수 있게 모아놨다.
데이터프레임 복사본 만들기: df.copy()
df_new = df_raw.copy()
원하는 조건으로 추출하기: df.query()
아래 두 개는 동일한 결과를 만드나, query를 쓰면 "df."를 컬럼 앞에 항상 붙일 필요가 없다는 장점이 있음.
#1
df.query('컬럼명>10')
#2
df[df.컬럼명>10]
여러 파생변수 한 번에 추가하기: df.assign()
df.assign(뉴컬럼명 = df.컬럼1 + df.컬럼2,
뉴컬럼명2 = (df.컬럼1 + df.컬럼2) / 2)
#lamdba로 더 간단히 쓰고 싶을 경우
df.assign(뉴컬럼명 = lambda x: x.컬럼1 + x.컬럼2,
뉴컬럼명2 = lambda x: x.뉴컬럼명 / 2)
Type 확인 및 변경: df.dtypes, df.astype(타입)
Type 확인하기: df.dtypes
Type 변경하기: df.astype(타입)
- 컬럼이 많을 경우 type을 변경하지 않을 컬럼을 index로 설정함 → 타입 변경 → reset_index
df.set_index(['sris_id','sris_name','epsd_id','epsd_name'],inplace=True)
df = df.astype(float)
df.reset_index(inplace=True)
text 이어 붙이기: '문자'.join(리스트)
epsd_filter = df2.epsd_id.to_list()
epsd_filter = '|'.join(epsd_filter)
여러 문자열을 포함하지 않는 데이터 추출: df[~df.컬럼명.str.contains('문자열1 | 문자열2 | 문자열3')]
ex_list = ['문자열1', '문자열2', '문자열2']
ex_list = '|'.join(ex_list)
df[(~df.gnr_epsd_name.str.contains(ex_list))]
Print 포맷 맞추기: f'{~~}'
name = 'Kate'
age = 30
num = 3.1414141
#my name is Kate and my age is 30
f'my name is {name} and my age is {age}'
'my name is %s and my age is %d' %(name,age)
#숫자 format
f'{num:.2f}' #3.14
참고한 링크:
반응형
'서비스 기획 > ☁️ 데이터 분석 공부' 카테고리의 다른 글
[췻쉿] 한번에 여러 데이터프레임에 함수 적용, csv 파일 추출 (0) | 2023.05.13 |
---|---|
[췻쉿] 결측값 처리 (0) | 2023.03.25 |
미국 데이터 분석 석사 선수과목 채우기 (2) | 2022.12.27 |
[췻쉿] DataFrame으로 모든 데이터 모으는 방법 (0) | 2022.12.24 |
주니어 PM의 데이터 분석 학습기 (0) | 2022.08.31 |
댓글