• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

fillna 를 하면 안되는거 아닌가요?

20.08.21 16:36 작성 조회수 127

2

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

가 아닌

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

로 하는 거아니면 fillna 로 채웠을 때 "파리크라상" 인 애들도 뚜레쥬르로 채워집니다.

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

df_bread.loc[df_bread["상호명"].str.contains("뚜레"), "브랜드명"] = "뚜레쥬르"

이 두 개의 문장을 돌리고

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

을 했을 때 

True      40 이라고 나오니까 파리크라상인 애들이 40개가 있다는 뜻 아닌가요?

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

df_bread.loc[df_bread["상호명"].str.contains("뚜레"), "브랜드명"] = "뚜레쥬르"

로 돌리고 

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

하였을 때는

False    812 가 나왔습니다. True는 나오지 않았습니다.

답변 1

답변을 작성해보세요.

2

안녕하세요.

좋은 질문 감사합니다.

말씀해 주신대로 "파리크라상"을 고려하지 못 했네요.

1. fillna()로 나머지 값을 채워주려면 질문주신 내용대로 아래와 같이 두 가지를 모두 고려하는게 맞겠네요.

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

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

2. 해당 데이터에는 파리바게뜨와 뚜레쥬르만 있기 때문에  아래 코드로 파리바게뜨를 만들어 줄 수도 있겠네요.

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

3. 아니면 df_bread 에는 파리바게뜨와 뚜레쥬르만 있기 때문에 아래 코드를 먼저 실행하고 나머지를 "파리바게뜨"라고 채워주는게 맞을거 같습니다.

df_bread.loc[df_bread["상호명"].str.contains("뚜레"), "브랜드명"] = "뚜레쥬르"

혼란을 드렸네요. 

지적해 주신 내용이 맞습니다. 해당 내용은 반영해서 조만간 업데이트 하도록 할게요!

감사합니다!