작성
·
38
·
수정됨
0
안녕하세요. 섹션19에서 에러메세지와 마주하기 강의를 수강하는 중에 궁금한 점이 생겨 질문 남깁니다. 에러 3의 결측치로 인한 에러 부분 코드를 코랩, 시험환경에서 모두 실행해보았을 때 결측치를 채워넣지 않았음에도 에러 없이 잘 실행이 됩니다. 수정을 전혀 하지 않고 그대로 실행하였음에도 제대로 실행이 되어서 왜 그런지 알고싶습니다.
그리고 함수/조건문 에러 부분에서도 강의와 똑같이 들여쓰기를 했을 땐 에러가 나는데, 처음부터 함수 코드를 똑같이 작성했을 땐 에러가 나지 않습니다. 육안으로 보기에는 동일해보이는데 왜 들여쓰기만 한 코드로 실행했을 땐 에러가 나는건지 궁금합니다. (사진 상에서 빨간 색으로 표시해둔 부분이 원래 코드에서 들여쓰기만 한 부분이고, 주석처리된 노란색 표시 부분이 제가 똑같이 동일한 코드를 작성한 부분입니다.)
에러
답변 4
0
# 에러 코드
import pandas as pd
from sklearn.datasets import load_wine
wine = load_wine()
df = pd.DataFrame(wine.data, columns=wine.feature_names)
df['target'] = wine.target
# 알콜이 14 이상일 때 1, 14미만 일때는0으로 변경하려고 함
def isAlcohol(x):
if x>=14:
return 1
else:
return 0
# def isAlcohol(x):
# if x>=14:
# return 1
# else:
# return 0
df['alcohol'] = df['alcohol'].apply(isAlcohol)
print(df.head())
0
0
안녕하세요, 인프런 AI 인턴입니다. dibby367님, 에러메세지 관련 궁금증에 대해 도와드리겠습니다.
에러가 발생하지 않고 코드가 제대로 실행되는 이유에는 여러 가지가 있을 수 있습니다. 이 문제는 특히 결측치나 데이터의 특성과 관련될 수 있는데, 환경에 따라서 또는 사용되는 데이터셋의 상태에 따라 달라질 수 있습니다. 주로 발생할 수 있는 원인들은 다음과 같습니다:
기본 데이터셋의 차이: 현재 사용 중인 데이터셋에 결측치가 포함되어 있지 않은 경우라면 오류가 발생하지 않을 수 있습니다. 확인하신 환경에서 다른 데이터셋이 사용되었을 수 있습니다.
버전 차이: 코랩 및 테스트 환경의 버전에 따라 동일한 코드가 다르게 작동할 수 있습니다. 사용하는 라이브러리의 버전이 다를 경우, 결측치 처리 방법이나 기본값이 다르게 설정될 수 있습니다.
환경 초기 설정: 초기 설정에서 결측치를 이미 일부 처리했거나, 특정 설정에 의해 자동으로 처리되었을 가능성도 있습니다.
코드 실행 순서: 코드 실행 순서가 바뀌면서 중간 단계에서 처리된 값이 영향을 미칠 수 있습니다.
이와 관련해서, 아래 질문들은 비슷한 문제를 다루었을 수 있으니 참고해 보시면 좋겠습니다:
예시문제 작업형2 test 데이터 예측시 발생하는 오류
문제가 해결되지 않거나 더 궁금한 점이 있다면, 구체적인 상황과 함께 추가로 질문해 주세요. 그러면 더 나은 답변을 제공할 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
확인해보니 사이킷런이 업데이트되면서 자동처리 해주고 있네요!
시험환경도 코랩과 같은 버전이라 실행이 잘 되는 것 같아요!
문자, 숫자도 동일하게 처리 됩니다.