• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

10.3 범주형 변수 빈도수 계산하기

21.05.09 02:38 작성 조회수 526

1

10.3 범주형 변수 빈도수 계산하기 (강의 : 38초)

# 브랜드명의 빈도수를 봅니다.

brand_count2 = df_bread["브랜드명"].value_counts()

brand_count2

강의에서는 

파리바게트 515

뚜레주르 297

로 나오는데요...

저는 계속 재시도 해봐도 결과값이 아래와 같이 나오는데,

파리바게트 555 

뚜레주르 257

(그래서 output 파일도 확인해보니 동일하게 555, 257 이네요)

위에 파스쿠찌,잠바주스 상호명 제외한 데이터 수 812까지 같은데, 왜 여기서부터 강사님과 다른 결과가 나오는지 모르겠습니다!

확인 부탁드립니다!

답변 1

답변을 작성해보세요.

0

안녕하세요. 

우선, 혼란을 드려 죄송합니다. 질문해 주신것처럼 output 결과에 있는 값이 맞습니다.

기존 전처리 과정에서 fillna를 통해 "뚜레쥬르" 를 채워주었는데 이렇게 하면 '파리크라상'인 "상호명"들도 '뚜레쥬르'로 표기가 되기 때문에 해당 텍스트를 찾아 채워주는 방법으로 빈도수를 구하면 질문해 주신 것과 같은 결과가 나오게 됩니다. 

아래 fillna 로 채우던 결과를 str.contains로 변경하며 빈도수가 달라지게 되었어요.

다음 업데이트에서 아래 부분을 반영할 예정입니다.

 

df_bread.loc[df_bread["상호명"].str.contains("파리바게"), "브랜드명"] = "파리바게뜨" 
df_bread["브랜드명"] = df_bread["브랜드명"].fillna("뚜레쥬르") 


# 브랜드명 컬럼을 만듭니다. "파리바게뜨" 에 해당되는 데이터에 대한 값을 채워줍니다.

df_bread.loc[df_bread["상호명"].str.contains("파리바게"), "브랜드명"] = "파리바게뜨"
df_bread.loc[df_bread["상호명"].str.contains("파리크라상"), "브랜드명"] = "파리바게뜨"
df_bread.loc[df_bread["상호명"].str.contains("뚜레"), "브랜드명"] = "뚜레쥬르"
df_bread[["상호명", "브랜드명"]].head()