인프런 커뮤니티 질문&답변

ryu951211님의 프로필 이미지

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[13/21] 키워드 추출을 통한 텍스트 빈도수 세기

df[f]의 의미가 무엇인지 궁금합니다.

22.05.25 15:09 작성

·

238

1

선생님 안녕하세요. 늘 강의 잘 보고 있습니다.

궁금한게 있어서 글 남깁니다.

 

for f in facilities:

    df[f] = df_fac["공원보유시설(편익시설)"].str.contains(f)

df[facilities].sum()

 

으로 강의해주셨는데

for문에서 df[f]를 만들고

밑에서는 df[facilities]로 쓴 이유가 무엇인지 궁금합니다.

 

df[f].sum()으로 하면 6이라는 숫자가 나와서

틀린 방법 같기는 한데

 

df[f]가 어떤 역할을 하는지 잘 모르겠습니다 ㅠㅠ

답변 1

0

박조은님의 프로필 이미지
박조은
지식공유자

2022. 05. 25. 19:19

안녕하세요.

df[f] 라는 것은 공원 시설에 대한 컬럼을 만드는 과정입니다.

아래와 같이 코드를 실행하게 되면 특정 공원시설이 해당 텍스트에 존재하는지를 확인합니다.

예를 들어 "철봉, 벤치, 주차장" 이 있다면 각각의 시설이 해당 공원에 있는지를 True, False 값으로 반환하게 합니다.

 

for f in facilities:

    df[f] = df_fac["공원보유시설(편익시설)"].str.contains(f)

df[facilities].sum()

 

아래와 같이 일일이 컬럼을 만들어 해당 시설이 있는지 확인하는 컬럼을 만드는게 아니라 반복문을 통해 컬럼을 생성하게 합니다.

df["철봉"] = df_fac["공원보유시설(편익시설)"].str.contains("철봉")
df["벤치"] = df_fac["공원보유시설(편익시설)"].str.contains("벤치")
df["주차장"] = df_fac["공원보유시설(편익시설)"].str.contains("주차장")


그래서 True 라면 해당 시설이 있고, False 라면 없다는 것을 키워드로 컬럼을 생성하게 합니다.

그렇다면 파이썬에서 True == 1 과 같기 때문에 df[facilities].sum() 을 하게 되면 전체 공원에서 해당 시설의 갯수를 확인해 볼 수 있습니다.

 

감사합니다.