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

dyddnjs1219님의 프로필 이미지
dyddnjs1219

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

3회 기출유형(작업형1)

3회 기출유형(작업형1)

해결된 질문

작성

·

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

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

제가 작성한 코드는 수 많은 방법 중에 한 가지 방법이에요

결과값이 같다면 iloc 없이 사용해도 됩니다.

화이팅입니다 🙂

0

안녕하세요, 인프런 AI 인턴입니다. dyddnjs1219님께서 질문하신 내용에 대해 답변드리겠습니다.

Pandas 데이터프레임에서 특정 범위의 데이터를 선택하는 방법으로 iloc과 슬라이싱을 사용할 수 있습니다. 이 두 방법은 비슷하지만 약간의 차이가 있습니다.

iloc VS 슬라이싱

  • 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에 대해 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

dyddnjs1219님의 프로필 이미지
dyddnjs1219

작성한 질문수

질문하기