• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

3강 덩킨도너츠 데이터 추출 질문있습니다.

20.06.11 06:20 작성 조회수 99

1

상가분석 중 덩킨도너츠와 다른 한곳의 업체 수 비교하는 소스를 cu와 gs25로 비교할려고 바꿔보았더니 인터넷 영상에서는 예를들어 생활서비스에 cu가 안들어갔는데 여기는 음식점에도 들어가고 생활서비스에도 들어갑니다. 즉 음식으로 분류된 카테고리에 씨씨유 식당도 들어가서 cu로 카운팅 됩니다. 정확한 데이터를 추출할려면 어떻게 해야하나요?

import pandas as pd

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

plt.rc("font",family="Malgun Gothic")

plt.rc('axes', unicode_minus=False)

from IPython.display import set_matplotlib_formats

set_matplotlib_formats("retina")

plt.title("한글폰트 설정")

plt.plot([-4, -6, 1, 2, 0, 3])

df = pd.read_csv("date/상가업소정보_201912_01.csv", sep='|')

df.head()

df.info()

columns = ['상호명', '상권업종대분류명', '상권업종중분류명', '상권업종소분류명', 

           '시도명', '시군구명', '행정동명', '법정동명', '도로명주소', 

           '경도', '위도']

print(df.shape)

df = df[columns].copy()

df.shape

df.info()

df_seoul = df[df["시도명"] == "서울특별시"].copy()

df_seoul.head()

df_seoul["시군구명"].unique()

df_seoul["시군구명"].nunique()

df_seoul.to_csv("seoul_open_store.csv", index=False)

pd.read_csv("seoul_open_store.csv").head()

df_seoul["상호명_소문자"] = df_seoul["상호명"].str.lower()

df_seoul.loc[df_seoul["상호명_소문자"].str.contains("쥐에스25|지에스25|gs25|GS25"), 

             "상호명_소문자"].shape

df_seoul.loc[df_seoul["상호명_소문자"].str.contains("씨유|cu|CU"), "상호명_소문자"].shape

df_25 = df_seoul[df_seoul["상호명_소문자"].str.contains(

    '쥐에스25|지에스25|gs25|GS25|씨유|cu|CU')].copy()

df_25.shape

df_25.loc[df_25["상호명_소문자"].str.contains("쥐에스25|지에스25|gs25|GS25"), 

          "브랜드명"] = "쥐에스25"

df_25[["상호명", "브랜드명"]].head()

df_25["브랜드명"] = df_25["브랜드명"].fillna("cu")

df_25["브랜드명"]

df_25["상권업종대분류명"].value_counts()

df_25[df_25["상권업종대분류명"].isin([ "음식"])]

답변 1

답변을 작성해보세요.

0

안녕하세요.

질문주신 내용은 데이터전처리에 해당됩니다. 

현실세계에서 데이터 분석을 하다보면 원하는 대로 데이터가 분류되어 있지 않은 경우가 많습니다.

지금 질문 주신 사례도 그런데요. 이런 데이터들을 일일이 찾아서 정제해 주는게 데이터 분석가의 역할이기도 합니다.

여기에서 분류명을 어떻게 해보세요라고 말씀드려도 또 다른 예외가 나올 수 있습니다.

그래서 분류명을 기준으로 할지 아니면 다른 변수를 기준으로 할지 데이터를 보고 정하시는게 맞습니다.

또, 전처리를 했는데 계속 예외상황이 나온다고 했을 때도 적절한 선에서 전처리를 하는게 좋습니다.

예를 들어 회사에서 더 중요한 업무가 있다면 그 업무를 먼저 진행해야 될텐데 다른 일 때문에 중요한 일을 못 한다면 문제가 되겠죠.

중요도에 따라 우선순위를 적절히 분배해서 처리하시는 방향으로 진행해 보세요.