본문 바로가기

+ α/▶개인 복습

0301 실습 (Seoul-Covid-19 -EDA)

728x90

✅ df.sample()

=>데이터 프레임내의 임의의 행에 대해 컬럼값을 보여줌(랜덤)

 

✅ '연도-월' 파생변수 (문자열 슬라이싱)

df['확진일'].astype(str).str[:7]

 1) '확진일' 데이터가 현재 datetime이므로 astype(str) 로 형태 변환

2) str. accessor 사용하여 슬라이싱(마스킹)해오기

 

✅ '요일명' (map함수)

df['요일'].map(finddayofweek)

1) Series 뒤에 map 함수로 메서드 체이닝(map 함수는 Series형태에만 가능)

2) map ( 함수 ) 

3) 함수 뒤에 ()는 작성 안 해줘도 됨

 

✅'연도'컬럼의 비율

df['요일명'].value_counts(normalize=True # or =1 )

빈도수의 비율 구하는 parameter 

=> normalize=True, or 1 

금세 까먹었었다...

 

 

✅요일 별 빈도수

df['요일명'].value_counts().sort_index()

어차피 요일명이 뒤죽박죽으로 나오는데

뒤에 sort_index() 왜 해주나 ? 했는데

=> 요일명이 한글이라서(영문이면 순차적정렬) 제대로 정렬을 못해준다

=> 그래서 이후에 weekday_list = ['월', '화', '수', '목', '금', '토', '일']

 

✅ list를 데이터 프레임 형태로

.to_frame()

 

✅ 연도,요일 두개의 변수에 대한 빈도수

pd.crosstab(normalize='columns')

원래 crosstab기능에서 normalize하면 행에 대한 비율을 구하는데

normalize='columns' 하면 각 열에 대한 비율 합계도 계산 가능

 

✅ 여행력 => 접촉력이 '해외유입'인 데이터에 대해 '국내해외' 파생변수 생성

df['해외유입'] = df['접촉력'] == '해외유입'

df.loc[df['해외유입']==True, '국내해외'] ='해외'
df.loc[df['해외유입']==False, '국내해외'] ='국내'

loc[조건,열]에서 조건에 맞는 열(컬럼) 생성 후

= 으로 바로 데이터 할당(ex '해외', '국내')

 

바로 파생변수(새 컬럼) 생성 가능

728x90