enumerate에 대해서 질문드립니다.
214
작성한 질문수 12
항상 정성가득 담긴 답변에 감사드립니다.
지금까지 해온 데이터분석에 대해서 복습해오면서
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 스타벅스입니다.
이걸로 어떻게 숫자를 계산한건지 이해가 잘되지 않습니다.
답변 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





