Python/데이터 분석

[python] 결측치 확인 및 데이터프레임 병합

비전공생's 2022. 5. 3. 09:22

 

오늘은 데이터의 결측치를 확인하고, 데이터프레임을 병합하는 방법을 정리해보았다.

 

 

결측치 확인

 

df.isnull()
df.isnull().sum()

# 결측치 시각화
df.isnull().sum().plot.barh(figsize=(7,8))
 
fig, axes = plt.subplots(2, 1)
plt.subplots_adjust(wspace=0, hspace=1)

# alpha는 투명도를 의미
df1.isnull().sum().plot.bar(ax=axes[0], color='b', alpha=0.8)
df2.isnull().sum().plot.bar(ax=axes[1], color='r', alpha=0.7)
 

 

데이터 프레임 병합 concat

: 두개의 데이터 프레임을 하나로 병합 (이어 붙여줌; 데이터 연결)

※ Merge, join, concatenate and compare

(https://pandas.pydata.org/docs/user_guide/merging.html)

※ concat() 함수 : 단순히 데이터를 연결(concatenate)함

기본적으로 위/아래로 데이터 행을 연결

axis : 0 또는 index → 수직 결합

 

 

pd.concat([dataframe1, dataframe2])
 
# axis 옵션을 활용하면 같은 키값에 해당되는 데이터를 가로로 넣을 수 있음
# 데이터프레임간에 컬럼이 서로 다르면, sort() 컬럼이름 나열하는 함수를 사용하여 True 혹은 False 선택
# sort=False 는 기존 인덱스 유지  # 기본 값
# sort=True 는 기존 인덱스 무시
pd.concat([dataframe1, dataframe2], axis=1)#, sort=False)
 

 

병합한 데이터 점검

print(df1.shape)  # 315555 행, 39열 
lprint()
df2.shape  # 325880 행, 39열
 

 

파일 병합 및 확인

df_all=pd.concat([df1,df2], sort=False)

df_all.head()
df_all.info()
df_all.isnull().sum().plot.barh(figsize=(7,8))
 

 

병합한 파일 새로운 파일로 저장

# 파일 저장

df_all.to_csv('df_all.csv', index=False)
 

 

 

저장 후, 새로운 데이터 파일을 다시 불러와 분석을 해보면 된다.