Data Science(w. naver boostcourse)

9. 데이터 색인하기

테크MANIA 2024. 10. 21. 15:30
반응형

원하는 데이터만 추출해서 데이터 색인하기

 

  • '==' 기호 활용
    == 기호를 활용하여 csv파일에 "상권업종중분류명" 칼럼의 데이터들 중 "약국/한약방"에 해당하는 데이터만 True로 출력한다.

 

더보기

 간단 응용:

약국/한약방인 상권만 True로 전처리한 데이터를 변수에 지정하고 value_counts() 함수를 사용하면 True로 확인된 상권의 총 개수를 확인할 수 있습니다.

기존 df["상권업종중분류명"]=="약국/한약방" 을 한번 더 df[] 로 덮으면 해당 조건에 True인 데이터만 추출이 가능합니다.

특정 조건으로 추출한 데이터를 다른 목적으로 변형해서 사용할 때 copy() 를 사용해야 warning 이 발생하지 않으며 원본이 영향받지 않습니다. 

 

추출 조건 추가하기

상권업종대분류명이 "의료"에 해당하는 데이터에서 상권업종중분류명만 따로 추출해서 확인하고 싶을 경우,

왼쪽 방식처럼 기존에 의료 조건에 해당하는 데이터프레임에서 추가로 조건을 추가해서 추출할 수 있습니다. 

 

다만, 왼쪽  과정은 의료에 해당하는 데이터프레임을 추출한 후 다시 해당 데이터에서 상권업종중분류명을 추가로 검색해서 추출하는 방식이기에 조건에 해당하는 데이터를 검색하고 추출하는 속도가 느릴 수 있습니다.

 

이 경우 .loc[] 를 활용하면 유용합니다.

loc는 대괄호를 사용하며, 좌측에는 검색할 행을 입력하고 우측에는 검색할 열에 대한 정보를 입력합니다.

df['상권업종대분류명']=='의료' 는 df에서 상권업종대분류명이 의료에 만족하는 행 데이터를 df 형식으로 추출하고, 이후 ['건물명', '상권업종중분류명'] 은 이미 추출한 데이터에서 건물명과 상권업종중분류명에 해당하는 열 데이터들만 추가로 구분한 것.

 

.shape 를 사용하면 데이터의 크기 (행과 열의 수)를 출력할 수 있습니다.

 

여러 조건을 색인하는 다른 방법으로는 파이썬에서 활용하는 &(and), |(or), !=(not) 을 사용하는 방법이다.

(의료로 분류된 업종 중 서울에 위치하지 않은 상권 정보)

반응형