차트까지는 제대로 나오는데 숫자는 서로 바껴서 나옵니다. 왜그런건가요?
292
작성한 질문수 192
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("케이에프씨|케이에프시|kfc"),
"상호명_소문자"].shape
df_seoul.loc[df_seoul["상호명_소문자"].str.contains("맥도날|McDonald"), "상호명_소문자"].shape
df_31 = df_seoul[df_seoul["상호명_소문자"].str.contains(
'케이에프씨|케이에프시|kfc|맥도날|McDonald')].copy()
df_31.shape
df_31.loc[df_31["상호명_소문자"].str.contains("케이에프씨|케이에프시|kfc"),
"브랜드명"] = "케이에프씨"
df_31[["상호명", "브랜드명"]].head()
df_31["브랜드명"] = df_31["브랜드명"].fillna("맥도날드")
df_31["브랜드명"]
df_31["상권업종소분류명"].value_counts()
df_31[df_31["상권업종소분류명"].isin(["인쇄종합", "한식/백반/한정식","학원-외국어/어학","라면김밥분식"])]
df_31=df_31[~df_31["상권업종소분류명"].isin(["인쇄종합", "한식/백반/한정식","학원-외국어/어학","라면김밥분식"])]
brand_count = df_31["브랜드명"].value_counts()
brand_count
df_31["브랜드명"].value_counts(normalize=True).plot.barh()
brand_count.index
g = sns.countplot(data=df_31, x="브랜드명")
g.text(x=1, y=brand_count[1], s=brand_count[1])
g.text(x=0, y=brand_count[0], s=brand_count[0])
전체코드는 위인데요. 차트까지는 제대로 나오는데 아래 숫자는 서로 바껴서 나옵니다. 왜그런건가요?
답변 1
0
안녕하세요.
다른 예제로 실습을 진행해 보셨네요. 좋습니다.👍
마지막 두 줄의 코드를 질문주신게 맞나요? 차트와 brand_count.index 의 출력이 맞게 보입니다.
brand_count 를 출력해 보시면 맥도날드의 수가 더 많게 나올것이고 여기에서는 normalize=True로 비율을 출력하도록 했습니다.
맥도날드의 비율이 50%가 넘어 보입니다.
또, 순서가 바뀌어 나온다고 질문주신 내용을 생각해 보니 맥도날드가 위에 표시되는게 맞지 않냐는 질문 같습니다. 맞나요?
만약 맥도날드를 케이에프씨 위에 출력하고자 하면 value_counts 결과를 sort_values를 통해 ascending=True로 순차 정렬해서 작은 수 기준으로 정렬을 한다면 의도하신대로 그래프가 그려질거 같습니다.
패키지 설치 에러 ydata-profiling
0
121
2
자세한 설명 부탁드려요 ㅜ
0
177
2
seaborn 라이브러리 호출하였으나 그래프가 안 그려져요
0
288
2
value_counts와 count 차이
0
343
2
안녕하세요 데이터 최신과 관련해서 문의드립니다.
0
205
3
scatterplot질문
0
122
1
강의 화면이 안나옵니다
0
164
2
4분12초 2013년부터 데이터가 없으면 어떻게하나요?..
0
188
2
에러 메시지
1
303
2
그래프 색이 동일하게 나옵니다.
0
309
2
시각화 라이브러리 비교
0
383
2
주피터 노트북 설치
0
390
1
2. 상가 기술통계 아웃풋 자료에서 오류가 납니다
0
226
1
14. distplot g = sns.FacetGrid(df_last, row="지역명", height=1.7, aspect=4) g.map(sns.distplot, "평당분양가격", hist=False, rug=True); 오류
0
178
1
group by agg function failed 에러
0
687
2
빈도수가 1000개 이상인 데이터를 따로 담을 때 코드 질문 있습니다.
0
288
2
주피터 노트북 실행 했는데 앞에 *가 생기고 결과가 나오지 않아요
0
363
3
get_string함수에서 문자 'nan'
0
200
1
seaborn X축 시작 지점 조정 질의의 건
0
213
1
14강 distplot 질의
0
289
1
nbextension 설치 및 셋팅 후 적용이 안되는 이슈
0
478
1
corr = df.corr() 입력시 오류
1
373
1
keyword grid_b is not recognized
0
336
1
%ls data 매직커맨드 사용시 한글 깨짐
0
293
1





