강의

멘토링

로드맵

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

202278082님의 프로필 이미지
202278082

작성한 질문수

파이참 sorted 함수 오류 살려주세요

해결된 질문

작성

·

92

0

안녕하세요 파이참으로 코드를 실행시키는데

 

Traceback (most recent call last):

File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.3.4\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode

coro = func()

^^^^^^

File "<input>", line 1, in <module>

File "C:\Users\user\PycharmProjects\bigdata2024\.venv\Lib\site-packages\pandas\core\generic.py", line 6299, in getattr

return object.__getattribute__(self, name)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

AttributeError: 'DataFrame' object has no attribute 'quality'

 

이런 오류가 뜹니다 코드 그대로 친 것 같은데 이유를 모르겠습니다ㅜㅜ

 

import pandas as pd
red_df = pd.read_csv('C:/Users/user/PycharmProjects/bigdata2024/.venv/winequality-red.csv', sep=';', header=0, engine='python')
white_df = pd.read_csv('C:/Users/user/PycharmProjects/bigdata2024/.venv/winequality-white.csv', sep=';', header=0, engine='python')
red_df.to_csv('C:/Users/user/PycharmProjects/bigdata2024/.venv/winequality-red2.csv', index=False)
white_df.to_csv('C:/Users/user/PycharmProjects/bigdata2024/.venv/winequality-white2.csv', index=False)

red_df.head()

red_df.insert(0, column='type', value = 'red')
red_df.head()

red_df.shape

white_df.head()

white_df.insert(0, column='type', value='white')
white_df.head()

white_df.shape

wine = pd.concat([red_df, white_df])
wine.shape

wine.to_csv('C:/Users/user/PycharmProjects/bigdata2024/.venv/wine.csv', index=False)

print(wine.info())

wine.columns = wine.columns.str.replace(' ','_')
wine.head()

wine.describe()

sorted(wine.quality.unique())

살려주세요

답변 1

1

안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 대해 답변드리겠습니다.

오류 메시지에 따르면 'DataFrame' 객체에 'quality'라는 속성이 없다는 것을 알 수 있습니다. 즉,wine데이터프레임에서quality열(column)에 접근하려 했으나 해당 열이 존재하지 않아AttributeError`가 발생한 것 같습니다.

오류를 해결하기 위해서는 먼저 wine 데이터프레임에 quality 열이 실제로 존재하는지 확인해보셔야 합니다. 코드 중간에 wine.columns = wine.columns.str.replace(' ','_') 부분이 있는데, 이를 통해 열 이름에 있는 공백을 _ (언더스코어)로 변경했습니다. 만약 quality 열의 이름이 공백을 포함하고 있었다면, 이름 변경 후에는 quality 대신 quality_와 같이 접근해야 할 수도 있습니다.

print(wine.columns)를 코드에 추가하여 실제 데이터프레임의 열 이름을 확인해보시고, quality 열의 정확한 이름을 사용하셔야 합니다. 만약 열 이름이 quality였다면, 코드는 올바르게 작성된 것으로, 다른 부분에서 문제가 발생했을 가능성이 있습니다. 그러나 quality라는 열이 전혀 존재하지 않는다면, 원본 CSV 파일에 해당 데이터가 있는지 또는 데이터 로딩 과정에서 문제가 발생했는지 확인해보셔야 합니다.

정리하자면, 다음 단계를 따라 오류를 해결해보세요:
1. print(wine.columns)를 실행하여 실제로 quality 열이 존재하는지 확인합니다.
2. 열 이름에 공백이 포함되어 있었다면, 공백이 _로 변경되었는지 확인하고, 변경된 이름으로 sorted() 함수를 호출합니다.
3. 원본 CSV 파일을 확인하여 quality 데이터가 포함되어 있는지 검토합니다.

이 답변이 문제 해결에 도움이 되길 바랍니다. 추가적인 질문이 있다면 언제든지 문의해주세요.

202278082님의 프로필 이미지
202278082
질문자

안녕하세요 답변 주신 대로 확인해봤는데

제대로 열이 존재해서 다른 문제가 있다고 판단했습니다

확인 결과 제가 csv 열 구분자를 엑셀에서 직접 저장한 후 파이참에서 2중으로 해서

열 갯수에 오류가 있었습니다 답변 감사합니다

202278082님의 프로필 이미지
202278082

작성한 질문수

질문하기