작성
·
12
·
수정됨
0
24번
# 사용자별로 주문 거리의 합계와 평균 계산 df_distance = df.groupby('user')['거리'].sum()
# 주문 거리의 합계가 50km 이상인 사용자만 필터링 cond = df_distance >= 50 df_distance = df_distance[cond]
25번
# 1회 이하 주문 제외
cond1 = time_interval>0
m = time_interval[cond1].mean()
선생님, 위 두 문제에서 df_distance 와 time_interval은 단순히 변수인가요? 그 뒤에 cond를 붙여준 것의 의미를 모르겠어요..변수에 변수를 합한 건가요?
교재 예시에 많이 나오는 df= df[cond] 코드는 cond변수 값을 df파일에 저장한다는 건가요? cond는 조건식에서만 사용하는 거죠?
그리고 25번 문제에서 시간간격이 1일 이하인 사용자 제외니까 time_intreval >0이 아니라 1인데 오류인거 같습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. audreyjy님.
질문하신 내용은 Pandas를 사용하여 데이터프레임을 필터링하고 필요한 통계값을 계산하는 과정에서 변수의 사용과 조건문에 대한 것 같습니다.
24번 문제:
df_distance = df.groupby('user')['거리'].sum()
은 각 사용자별로 ‘거리’ 컬럼의 합계를 계산하는 것입니다.cond = df_distance >= 50
을 통해 ‘거리’의 합계가 50km 이상인 사용자를 식별하는 조건문(cond)을 정의합니다.df_distance = df_distance[cond]
는 ‘거리’의 합계가 50km 이상인 사용자만으로 데이터프레임을 필터링하는 것이며, cond는 이와 같은 필터링 조건입니다.25번 문제:
cond1 = time_interval > 0
의 조건은 시간 간격이 0보다 큰 경우를 의미합니다. 이 조건 자체는 배열의 필터링에 사용되며, 이후 사용될 평균 계산에 영향을 줍니다.m = time_interval[cond1].mean()
는 cond1 조건을 만족하는 time_interval의 평균을 계산합니다.df_distance
와 time_interval
은 각각 데이터의 특정 속성을 나타내는 Series/데이터프레임 객체입니다.cond
와 cond1
은 이 객체들을 특정 조건에 따라 필터링하기 위해 사용된 Boolean 배열(또는 조건)을 표시하며, 이들을 통해 원본 데이터프레임에서 특정 조건을 만족하는 데이터만 선택할 수 있습니다.df = df[cond]
는 필터링 조건을 만족하는 행들만 남기고, 나머지 데이터를 제거하여 결과를 산출합니다. 이 형태의 필터링은 데이터 분석에서 매우 일반적으로 사용됩니다.cond1 = time_interval > 1
로 수정하는 것이 맞습니다. 제공하신 버전에서는 표기 오류가 있는 듯합니다.관련된 코드를 더 이해하기 위해서, 꼭 이상치 처리 혹은 필터링 방법에 대한 더 많은 사례를 찾아보시길 권장드립니다. 아래 유사한 질문도 함께 참고하시면 도움이 될 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.