inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

[7/9] Geo JSON 값 이해하고 choropleth 그려보기

enumerate에 대해서 질문드립니다.

214

드가자

작성한 질문수 12

1

항상 정성가득 담긴 답변에 감사드립니다.

지금까지 해온 데이터분석에 대해서 복습해오면서 

plot.bar()와 같이 시각화를 하고 그에 대해 구체적인 숫자를 첨부하는 코딩을 연습하고 있습니다. 

구체적인 예를 들어,

brand_count = df_cafe["브랜드명"].value_counts()

brand_count

와 같이 변수를 정의하고,

g = sns.countplot(data = df_cafe, x="브랜드명")

for i, val  in enumerate(brand_count.index):

    g.text(x=i, y=brand_count[i], s=brand_count[i])

와 같이 코드를 입력하면 막대위에 구체적으로 해당 브랜드의 총 개수가 나옵니다. 

여기서 반복문의 사용과 인덱스를 서술해주는 enumerate의 기능도 이해했습니다. 

문제는 .. g.text 안에 있는 x y s 에 대해 이해가 조금 어렵습니다. 

x=는 해당 브랜드명이 나오고 그다음 y축은 숫자인데 여기서brand_count의 값은 0 이디야 혹은 1 스타벅스입니다.

이걸로 어떻게 숫자를 계산한건지 이해가 잘되지 않습니다.

공공빅데이터 pandas python numpy

답변 1

0

박조은

안녕하세요.

복습을 하며 연습을 하고 있다니 멋집니다 👍


g = sns.countplot(data = df_cafe, x="브랜드명")

이 부분에서는 위에서 정의한 brand_count 변수를 사용하시는게 혼란이 덜할것 같아요.

아니면 정렬이 순서에 맞게 order= brand_count.index 를 넣어주셔도 좋을것 같습니다.

brand_count 는 빈도수 순으로 나오기 때문에 위와 같이 빈도수와 시각화를 따로 하면 x축 순서가 맞지 않을 수 있습니다.

    g.text(x=i, y=brand_count[i], s=brand_count[i]) 로 텍스트를 표기할때 x 는 막대의 순서를 의미합니다.

파이썬은 인덱스가 0번 부터 시작하기 때문에 enumerate로 받은 순서를 넣어주면 첫번째 막대부터 값을 그려주게 됩니다.

y값은 빈도수로 정렬된 brand_count 에서 해당 인덱스 순서에 해당되는 값을 순서대로 가져오고 y축의 좌표값을 의미합니다. 막대 조금 위나 아래에 값을 표기하려면 이 y값에 값을 더하거나 빼는 방법으로 조정해 보실 수 있습니다.

s는 실제 그래프에 나타낼 값을 의미합니다. brand_count의 빈도값을 적어주면 되겠죠.

인덱스값으로 brand_count 변수에 담긴 값을 가져오는데 잘 이해가 되지 않을때는 해당 값을 print문으로 출력해 보면서 실습해 보시면 어떤 값들이 g.text() 안에 들어가는지 확인해 보는데 도움이 될것 같아요.

감사합니다 :)

패키지 설치 에러 ydata-profiling

0

134

2

자세한 설명 부탁드려요 ㅜ

0

200

2

seaborn 라이브러리 호출하였으나 그래프가 안 그려져요

0

310

2

value_counts와 count 차이

0

375

2

안녕하세요 데이터 최신과 관련해서 문의드립니다.

0

217

3

scatterplot질문

0

132

1

강의 화면이 안나옵니다

0

174

2

4분12초 2013년부터 데이터가 없으면 어떻게하나요?..

0

193

2

에러 메시지

1

311

2

그래프 색이 동일하게 나옵니다.

0

328

2

시각화 라이브러리 비교

0

400

2

주피터 노트북 설치

0

399

1

2. 상가 기술통계 아웃풋 자료에서 오류가 납니다

0

233

1

14. distplot g = sns.FacetGrid(df_last, row="지역명", height=1.7, aspect=4) g.map(sns.distplot, "평당분양가격", hist=False, rug=True); 오류

0

185

1

group by agg function failed 에러

0

696

2

빈도수가 1000개 이상인 데이터를 따로 담을 때 코드 질문 있습니다.

0

295

2

주피터 노트북 실행 했는데 앞에 *가 생기고 결과가 나오지 않아요

0

372

3

get_string함수에서 문자 'nan'

0

205

1

seaborn X축 시작 지점 조정 질의의 건

0

229

1

14강 distplot 질의

0

299

1

nbextension 설치 및 셋팅 후 적용이 안되는 이슈

0

486

1

corr = df.corr() 입력시 오류

1

383

1

keyword grid_b is not recognized

0

342

1

%ls data 매직커맨드 사용시 한글 깨짐

0

304

1