본문 바로가기
Data-driven Methodology/DS (Data Science)

[Data Science] 공공포털 데이터 (7)

by goatlab 2022. 9. 22.
728x90
반응형
SMALL

텍스트 데이터 전처리

 

df_seoul_drug["시군구명"]

 

value_counts()를 하고, 데이터를 c라는 변수에 지정한다.

 

c = df_seoul_drug["시군구명"].value_counts()
c.head()

 

데이터 시각화

 

c.plot.bar(rot=60)

 

normalize한 데이터도 n이라는 변수에 지정한다.

 

n = df_seoul_drug["시군구명"].value_counts(normalize=True)
n.head()

 

조건을 넣어 서울시의 종합병원만 분석한다.

 

df_seoul_hospital = df[df["상권업종소분류명"] == "종합병원" & (df["시도명"] == "서울특별시")].copy()
df_seoul_hospital

 

시군구명을 불러 온다.

 

df_seoul_hospital["시군구명"]

 

시군구명의 값의 갯수를 센다.

 

df_seoul_hospital["시군구명"].value_counts()

 

텍스트 데이터 색인하기

 

상호명에 "종합병원"이라는 문구가 들어간 데이터만 찾는다.

 

df_seoul_hospital["상호명"].str.contains("종합병원")

 

상호명에 종합병원이 들어간 데이터의 상호명을 중복 없이 가져 온다.

 

df_seoul_hospital.loc[~df_seoul_hospital["상호명"].str.contains("종합병원"), "상호명"].unique()

 

제거할 데이터 지정하기

 

꽃배달이 상호명에 포함되었는지 확인한다.

 

df_seoul_hospital["상호명"].str.contains("꽃배달")

 

꽃배달이 상호명에 포함된 데이터를 가져 온다.

 

df_seoul_hospital[df_seoul_hospital["상호명"].str.contains("꽃배달")]

 

상호명에 여러개의 데이터 (꽃배달, 의료기, 장례식장, 상담소, 어린이집)이 들어간 데이터의 인덱스 번호를 리스트 형태로 변형한다.

 

drop_row = df_seoul_hospital[
df_seoul_hospital["상호명"].str.contains("꽃배달|의료기|장례식장|상담소|어린이집")].index

drop_row = drop_row.tolist()
drop_row

 

상호명에 의원이 들어간 데이터의 인덱스 번호를 리스트 형태로 변형한다.

 

drop_row2 = df_seoul_hospital[df_seoul_hospital["상호명"].str.endswith("의원")].index
drop_row2.tolist()
drop_row2

 

두 데이터를 하나로 합친다.

 

drop_row = drop_row + drop_row2
len(drop_row)

 

데이터 제거하기

 

데이터를 제거하기 전과 후의 데이터 양의 차이를 확인한다. drop()에서는 drop_row에 들어있는 index 번호에 해당하는 행을 제거하여 아시 dr_seoul_hospital에 넣어서 전체 데이터를 업데이트한다.

 

print(df_seoul_hospital.shape)

df_seoul_hospital = df_seoul_hospital.drop(drop_row, axis=0)

print(df_seoul_hospital.shape)
# bar plot
df_seoul_hospital["시군구명"].value_counts().plot.bar()
# seaborn 데이터 시각화
plt.figure(figsize=(15, 4))
sns.countplot(data=df_seoul_hospital, x="시군구명")
728x90
반응형
LIST