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
'Data-driven Methodology > DS (Data Science)' 카테고리의 다른 글
[Data Science] 공공포털 데이터 (9) (0) | 2022.09.22 |
---|---|
[Data Science] 공공포털 데이터 (8) (0) | 2022.09.22 |
[Data Science] 공공포털 데이터 (6) (0) | 2022.09.22 |
[Data Science] 공공포털 데이터 (5) (0) | 2022.09.21 |
[Data Science] 공공포털 데이터 (4) (0) | 2022.09.21 |