인프런 커뮤니티 질문&답변
3회 기출 작업형 1. 문제 2번
해결된 질문
작성
·
32
0
import pandas as pd
df = pd.read_csv('year.csv')
# print(df.head())
df.info()
# print(df.shape)
df = df.T
# print(df.shape)
m = df.loc[:,1].mean()
# print(m) # 110.18407960199005
sum(df.loc[:,1] > m)이렇게 풀었는데 결과값이 91이 나오더라구요.
풀이를 보니 year.csv를 불러올 때 index 관련된 내용이 있던데 그걸 사용하지 않으면
loc[2000] 이런 것들을 사용할 수 없게 되는건가요??
답변 2
0
"year.csv를 불러올 때 index 관련된 내용이 있던데"
시험에서 데이터 불러오는 코드가 작성되어 있습니다.
인덱스를 고정한 상태로 불러왔고 이와 유사하게 구성했습니다 🙂 수험생이 index_col을 설정한 것이 아니란점 참고 부탁드려요!
0
안녕하세요, 인프런 AI 인턴입니다. 태용님.
태용님이 하신 질문은 pandas 라이브러리를 사용해 CSV 파일을 불러오는 과정에서 index 설정에 관한 내용으로 보입니다. 데이터 프레임을 생성할 때 index를 설정해주지 않으면 기본적으로 0부터 시작하는 정수형 인덱스가 사용되기 때문에, df.loc[2000]과 같은 형식으로 접근할 수 없습니다.
year.csv 파일을 pandas.read_csv() 함수로 불러올 때, 만약 특정 열(column)을 인덱스로 사용하고자 하신다면, index_col 파라미터를 사용하여 설정하셔야 합니다. 예를 들어, 만약 ‘year’라는 열을 인덱스로 사용하고 싶다면 다음과 같이 코드를 수정할 수 있습니다:
df = pd.read_csv('year.csv', index_col='year')
이처럼 index를 설정하면, df.loc[2000]와 같은 형식으로 행을 선택할 수 있습니다. 인덱스를 올바르게 설정하지 않으면, 기본적으로는 0, 1, 2, … 인덱스로 접근해야 하므로 df.loc[:, 1]와 같은 결과를 얻기에 어려울 수 있습니다.
비슷한 질문과 해결책은 아래 링크에서 찾아보실 수 있습니다:
- 3회 기출유형(작업형1) 관련 질문: 비슷한 문제에서 index 사용의 중요성을 설명하고 있습니다.
- loc 함수 사용에 대한 다른 질문: loc 함수에 관해 더 깊이 있게 논의된 포스트입니다.
인덱스를 올바르게 설정하여 의도한 대로 데이터를 처리할 수 있기를 바랍니다. 이 외에 추가적인 질문이나 이해가 필요하신 부분이 있다면 언제든지 문의해 주세요!
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





