해결된 질문
작성
·
24
0
강의에서는 df = df.iloc[:int(len(df)*0.7)] 을 하셨는데
저는 import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/members.csv") # print(df.head(10)) df = df.dropna() # print(df.head(10)) df = df[:int(len(df) * 0.7)] print(df['f1'].quantile(.25))
57
이렇게 해도 결과값이 맞는데 따로
df = df.iloc[:int(len(df)*0.7)] 이걸 꼭 작성해야 하나요? 궁금합니다!
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. dyddnjs1219님께서 질문하신 내용에 대해 답변드리겠습니다.
Pandas 데이터프레임에서 특정 범위의 데이터를 선택하는 방법으로 iloc
과 슬라이싱을 사용할 수 있습니다. 이 두 방법은 비슷하지만 약간의 차이가 있습니다.
iloc
: 위치를 기반으로 데이터프레임의 행과 열을 선택하는 방법입니다. iloc[:int(len(df) * 0.7)]
은 데이터프레임의 70% 행을 선택하겠다는 뜻입니다. 주로 명시적으로 인덱스 위치에 기반하여 데이터를 선택할 때 사용됩니다.
슬라이싱 df[:n]
: 이는 Python의 기본 슬라이싱 방식으로, 데이터프레임의 초기 부분 중 0부터 n 미만까지의 행을 선택합니다. df[:int(len(df) * 0.7)]
은 동일하게 70%를 선택합니다.
두 방법 모두 특정 범위의 데이터를 선택할 때 유효하며 대부분의 경우 동일한 결과를 얻을 수 있습니다. 따라서, 어느 것을 사용해도 상관없습니다. 중요한 것은 두 방법 중 하나를 선택하여 일관되게 사용하는 것입니다.
아래의 링크는 유사한 질문에 대한 내용과 해답을 제공하며, 동일한 상황에서 여러 접근 방식을 설명합니다:
- 빅데이터 분석기사(3회): 기출유형-작업형1 문제1 - df.head()와 iloc에 대해 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.