강의

멘토링

커뮤니티

Inflearn Community Q&A

haha55801619's profile image
haha55801619

asked

[Revised Edition] The Complete Guide to Python Machine Learning

reset_index() 업데이트

Written on

·

266

0

판다스 Index객체 이해 강의에서 사용한 예제를 그대로 적용하니 문제가 생겨 질문드립니다

reset_index()에 업데이트가 진행되어 칼럼명을 자동으로 바꿔주는 것 같은데 맞나요?

value_counts()를 통해 titanic_df['Pclass']의 객체를 얻으면 기존에는 Name:Pclass 로 출력되었던 것 같은데, 이제는 value_counts()를 통해 얻은 모든 객체의 Name이 count로 표기되고 이렇게 name이 count인 객체에 한해 reset_index()를 적용했을 때 칼럼명을 자동으로 적절히 바꾸어주는 것 같습니다

python머신러닝통계

Answer 1

0

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

안녕하십니까,

음, 강의에서도 value_counts()를 통해 얻은 모든 객체의 Name이 count로 표기되지 않나요? 원래도 value_counts()하면 그렇게 표시됩니다만,

value_counts = titanic_df['Pclass'].value_counts()

print(value_counts)

하면,

3    491
1    216
2    184

여기서 3, 1, 2 가 index 값이고, 이걸 다시 reset_index()하면 아래와 같이 나옵니다만...

value_counts = titanic_df['Pclass'].value_counts().reset_index()

print(value_counts)

 index  Pclass
0      3     491
1      1     216
2      2     184

 

제가 강의에서 다르게 설명 드린건지요? 만약 그렇다면 해당 강의의 몇분 몇초 영상인지 부탁드리겠습니다.

 

감사합니다.

haha55801619님의 프로필 이미지
haha55801619
Questioner

안녕하세요,

교수님께서 강의 중 따로 언급하시진 않았습니다만, 섹션 1의 24강 '판다스 Index객체 이해' 강의의 14:00 장면부터 보면 value_counts()와 reset_index()의 결과로 다음과 같이 출력됩니다.

 

image

하지만 현재 jupyter notebook에서 pandas 2.0.3 버전을 import해 동일한 코드를 실행시키면 다음과 같은 결과가 출력됩니다.

 

image

### before reset_index ### 하단의 객체 Name이 Pclass에서 count로 변경된 것을 볼 수 있고, ### After reset_index### 하단 객체의 칼럼명이 index->Pclass, Pclass->count로 변경된 것을 확인할 수 있습니다.

하지만 value_counts() 함수를 통해 얻은 Series가 아닌 DataFrame에 reset_index()를 적용시키면 기존과 같이 index라는 이름의 칼럼이 추가되는 것으로 보아, value_counts() 함수를 통해 얻은 Series 객체에만 한정적으로 적합한 칼럼명을 자체적으로 적용하는 것으로 생각됩니다.

때문에 다음 line의 new_value_counts_01.rename(columns={'index' : 'Pclass', 'Pclass' : 'Pclas_count'}) 코드의 실행 결과도 다음과 같이 기존과 다르게 출력됩니다.

 

image

Plcass여야 할 칼럼명이 Pclass_count로 출력되며 Pclass_count여야 할 칼럼명이 count로 출력됩니다.

 

위와 같은 상황이 pandas 업데이트로 인해 생기는 것이 맞는지 확신할 수가 없어 질문드립니다.

 

감사합니다

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

판다스가 2.x 대로 upgrade되더니, 이렇게 변경이 되었군요.

이렇게 바뀌는게 value_counts()를 사용할 때 직관적으로 이해하기가 더 쉬울것 같습니다.

네, 판다스 upgrade 로 인한 변경 맞습니다. 강의는 제가 pandas 1.x 버전으로 강의한 내용입니다.

좋은 정보 감사드립니다.

haha55801619's profile image
haha55801619

asked

Ask a question