데이터 모두 출력
# 데이타가 많은 경우 모두 출력 안되고 ... 으로 생략해서 출력됩니다.
# 생략되지 않는 행, 열의 개수를 설정하여 생략되지 않고 출력되도록 합니다.
pd.set_option('max_rows', 800) #출력할 max row를 지정
pd.set_option('max_columns', 100) #출력할 max columns를 지정
데이터 복제
df = df2.copy()
행별 결측치 개수 세기
전체 개수 df.isna().sum().sum()
# [3-23] df의 행별 결측치를 조사합니다.
# sum(axis=0) 축이 0인 것이 기본값이기 때문에 0부터 시작
df.isna().sum()
df.set_index('측정일시 ') : 측정일시 index 설정,
sort_index() : index 기준 오름차순
# [3-24] '측정일시'를 index로 설정하고,
# index 기준으로 오름차순 정렬해서 df1으로 이름 붙입니다.
# 그래프에서 y축으로 사용하려고 합니다.
df1 = df.set_index('측정일시').sort_index()
이산화~일산화까지 결측치 불린데이터로 확인 -> T/F
df1.loc[:, '이산화질소농도(ppm)':'일산화탄소농도(ppm)'].isna()
결측치 : T 결측치 아님 : F
-> 히트맵으로 결측치 확임
흰색 부분은 결측치임
# cbar : 색상의 차이를 만들지만 필요없음(0 아니면 1이기 때문 T/F)
# rotation 각도
# pontsize
import koreanize_matplotlib
plt.figure(figsize=(14,10)) # 그림 크기
ax = sns.heatmap(df1.loc[:,'이산화질소농도(ppm)':'일산화탄소농도(ppm)'].isna(), cbar=False)
ax.set_xticklabels(ax.get_xticklabels(),fontsize=13,rotation=0)
plt.show()
많이 쓰이기 때문에 익숙해지도록 연습 연습
df['컬럼명'] : 1개의 컬럼을 series
df[['컬럼명1', '컬럼명2']] : 여러개의 칼럼을 데이터 프레임 반환
df['행이름1':'행이름N'] : 행이름 1 ~ 행이름 N-1까지 반환
df[조건] : 행 중에서 조건이 true인 행 반환
# [3-26] df1에서 '측정소명', '년', '월', '일','오존농도(ppm)', '미세먼지(㎍/㎥)', '초미세먼지(㎍/㎥)'컬럼만
# 추출하여 df_dust 라는 이름을 정의합니다.
df_dust = df1[['측정소명', '년', '월', '일','오존농도(ppm)', '미세먼지(㎍/㎥)', '초미세먼지(㎍/㎥)']]
df_dust.head(2)
# [3-29] df_dust의 index를 다시 컬럼으로 사용되도록 합니다.
# 다음 작업인 결측치 삭제를 사용하기 위함
# 두 번 누르면 index 가 칼럼으로 가서 조심해야 함
df_dust = df_dust.reset_index()
df_dust.head(2)
'빅데이터 분석기사 > 작업 유형 1 (pd)' 카테고리의 다른 글
평균을 사용한 결측치 대체 (0) | 2023.05.16 |
---|---|
5/15 결측치 제거하기 (0) | 2023.05.16 |
날짜타입으로 변경하기 (1) | 2023.05.12 |
index 번호 정리하기 (0) | 2023.05.12 |
여러개 파일 합치기 (0) | 2023.05.12 |