q1_cols를 작성하는 부분에서 궁금한 점이 있습니다.
244
12 câu hỏi đã được viết
q1_cols = answer["Q1"].value_counts().sort_index().index.tolist()def show_countplot_by_qno(qno, fsize=(10, 6), order=None):
if not order:
order = answer[qno].value_counts().index.tolist()
plt.figure(figsize=fsize)
sns.countplot(data=answer, y=qno,
order=order,palette="Blues_r"
).set_title(question[qno])
show_countplot_by_qno("Q1", order=q1_cols)not order 일 때는 tolist() 안해도 출력이 되는데
왜 order를 변수로 넣을 때는 tolist() 안하면 에러가 발생하는지 궁금합니다.
tolist() 붙여봐도 달라진게 없는것 같은데 어떤 방식인지 모르겠습니다.
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴입니다.
tolist()를 사용하는 이유는 pandas의 value_counts()와 sort_index() 메서드로부터 반환받은 객체의 형태 때문입니다. value_counts() 메서드는 각 값의 개수를 세어 Series 객체로 반환하며, sort_index() 메서드는 Series 객체의 인덱스를 기준으로 정렬합니다. 이 때, .index 속성을 사용하면 인덱스를 가져올 수 있지만, 이는 pandas의 Index 객체 형태로 반환됩니다.
countplot 함수의 order 매개변수는 특정 순서를 지정하기 위해 리스트 형태를 요구합니다. 그래서 tolist()를 사용하여 pandas의 Index 객체를 파이썬의 기본 리스트 형태로 변환하는 것입니다. 이는 order 매개변수에 기대하는 데이터 타입과 일치시키기 위해 필요한 과정입니다.
not order 조건부에서는 value_counts().index.tolist() 부분이 특정 변수에 할당되지 않고 바로 사용되는 경우가 보통입니다. 이 경우 tolist()를 호출하지 않더라도 내부적으로 order 매개변수를 해석할 때 필요에 따라 적절한 형태로 변환될 수 있습니다. 하지만 명시적으로 리스트 형태로 전달하려면 tolist()를 사용하는 것이 좋습니다.
따라서, order 매개변수에 직접 인덱스 리스트를 전달하기 위해 tolist()를 사용하는 것은 필수적인 작업으로, 이를 통해 에러 없이 올바른 순서로 데이터를 시각화할 수 있습니다.
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
16
1
이진분류에서 양성 클래스가 0일 때 평가 방법
0
19
2
원핫인코딩 전 train과 test 병합여부
0
34
2
수강기간 연장
0
37
2
29강 작업2형의 이상치 처리
0
56
2
수강기간 연장 문의드립니다!
0
57
2
9월에 실기출제기준 개정내역에 신설된부분
0
53
1
작업형2 모의문제2 결과값 관련 문의드립니다.
0
64
2
12회차 시험 실패 후 13회 도전 예정입니다.
0
49
1
random_state 값
0
68
2
'팀 단위 AI 업무 혁신' 자문 관련하여 문의드리고자 합니다. (연락처 요청)
0
75
1
hue를 사용할 때
0
335
1
이중리스트에 대한 질문
1
300
0
12강 질문
0
410
1
sort_values 의 사용방법
0
567
1
Kaggle error
1
326
1
Error
1
353
3
리스트 에러
1
267
1
order
1
300
1
order를 함수 내에서 만들고 싶어서
1
217
1
10/13일편 2:52초
0
251
2
시리즈를 데이터프레임으로 변환하는 방법
1
1061
1
kaggle 자동완성
1
674
1
강의 코드 질문입니다.
1
298
1

