728x90
반응형
SMALL
원하는 데이터 추출
df["상권업종중분류명"] == "약국/한약방"
0 False
1 False
2 False
3 False
4 False
...
20053 False
20054 False
20055 False
20056 False
20057 False
Name: 상권업종중분류명, Length: 20058, dtype: bool
df[df["상권업종중분류명"] == "약국/한약방"]
# copy를 통해 df_medical이라는 변수에 지정
df_medical = df[df["상권업종중분류명"] == "약국/한약방"].copy()
원하는 데이터 추출 : 여러개 조건 사용
# 1개 조건
df[df["상권업종대분류명"] == "의료"]]
상권업종대분류명이 의료인 데이터의 상권업종중분류명을 가져오고 싶을 때 loc를 사용한다.
# 2개 조건
df.loc[df["상권업종대분류명"] == "의료"]["상권업종중분류명"]
df.loc[df["상권업종대분류명"] == "의료", "상권업종중분류명"]
이 코드는 위와 같은 결과를 출력한다. 그런데 첫번째 방법은 의료로 검색하고, 또 상권업종중분류명에 검색하므로 속도가 느리다. 따라서, 이 방법을 권장한다.
조건에 맞는 데이터 개수 세기
value_counts로 데이터의 갯수를 셀 수 있다.
df.loc[df["상권업종대분류명"] == "의료", "상권업종중분류명"].value_counts()
m = df["상권업종대분류명"] == "의료"
df.loc[m, "상권업종중분류명"].value_counts()
boolean indexing을 해서 코드를 작성할 수도 있다. 위와 결과는 같다.
특정값 색인하기
상권업종중분류명이 유사의료업인 데이터인지 체크한다.
df["상권업종중분류명"] == "유사의료업"
상권업종중분류명이 유사의료업인 데이터만 불러 온다.
df[df["상권업종중분류명"] == "유사의료업"]
데이터의 크기인 행과 열의 수를 확인한다.
df[df["상권업종중분류명"] == "유사의료업"].shape
df["상호명"].value_counts().tail()
df_medi["상호명"].value_counts().head(10)
여러 조건으로 색인하기
상권업종소분류명이 약국인지 확인한다.
df["상권업종소분류명"] == "약국"
시도명이 서울특별시인지 확인한다.
df["시도명"] == "서울특별시"
상권업종소분류명이 약국인지 그리고 시도명이 서울특별시인지 확인한다.
(df["상권업종소분류명"] == "약국") & (df["시도명"] == "서울특별시")
df_seoul_drug = (df["상권업종소분류명"] == "약국") & (df["시도명"] == "서울특별시")
print(df_seoul_drug.shape)
df_seoul_drug
728x90
반응형
LIST
'Data-driven Methodology > DS (Data Science)' 카테고리의 다른 글
[Data Science] 공공포털 데이터 (8) (0) | 2022.09.22 |
---|---|
[Data Science] 공공포털 데이터 (7) (0) | 2022.09.22 |
[Data Science] 공공포털 데이터 (5) (0) | 2022.09.21 |
[Data Science] 공공포털 데이터 (4) (0) | 2022.09.21 |
[Data Science] 공공포털 데이터 (3) (0) | 2022.09.21 |