인프런 커뮤니티 질문&답변

허쿡님의 프로필 이미지
허쿡

작성한 질문수

처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part3]

스케일링 이해와 kaggle 제출하기

스케일링 이해와 kaggle 제출하기 강의 질문

작성

·

189

1

안녕하세요. 강의 잘 듣고 있습니다 :)
 
Q
스케일링 이해와 kaggle 제출하기 17분 40초 부분
 
submission_df['PassengerId'] = df_test['PassengerId']
submission_df['Survived'] = probs['final'].tolist()
 
위 코드에서 tolist() 를 빼고
submission_df['Survived'] =probs['final'] 로 하면 왜 안되나요??
 
submission_df['Survived'] 도 데이터 타입이 시리즈이고 probs['final']도 시리즈 데이터 타입인데 왜 tolist() 를 붙여야 값이 제대로 들어가는지 궁금합니다..
 
답변 부탁드립니다. 감사합니다.
 

답변 1

1

안녕하세요. 답변도우미입니다.

 

제가 다음과 같이 코드를 작성하였을 때는, tolist() 를 붙이거나, 안붙여도 정상적으로 동작합니다. 기본적으로는 말씀하신 사항이 맞는데요. tolist() 로 리스트로 변환해서, 해당 값만 시리즈 데이터에 넣는 방법도 일반적으로 많이 쓰이는 기법이라서, 이와 같이 작성하였습니다. 다만, A시리즈 = B시리즈 라고 하면, 본래는 서로의 인덱스가 다를 경우는 그대로 0번 부터 넣어지는 것이 아니고, 인덱스번호를 체크하기 때문에, 에러가 날 수 있습니다.

----------------

import pandas as pd

import numpy as np

 

data = [['Lee',22],['Min',33],['Hwang',44]]

submission_df = pd.DataFrame(data, columns=['first','age'])

submission_df['Survived'] = 0

 

data = [['Lee',22],['Min',33],['Hwang',44]]

probs = pd.DataFrame(data, columns=['first','age'])

probs['final'] = 1

 

probs['final'] = 1

print (submission_df['Survived'])

submission_df['Survived'] = probs['final'].tolist()

print (submission_df['Survived'])

 

감사합니다.

허쿡님의 프로필 이미지
허쿡
질문자

답변 감사합니다 :)

허쿡님의 프로필 이미지
허쿡

작성한 질문수

질문하기