inflearn logo
강의

Course

Instructor

[2026 Big Data Analysis Certification Practical Exam Preparation] 100% Pass the Big Data Analysis Practical Exam! See the patterns in previous exam questions!

8회 1유형 1번 문제

Resolved

73

jintoniclemon4399

7 asked

0

코딩 대한민국님의 정답과 저의 정답이 달라 왜 그럴까 살펴보았습니다.
데이터가 무작위 생성이라 그럴 수 밖에 없다는 것을 깨닳았지만,
남는 의문점이 있어 질문올립니다.

우선, 코딩 대한민국님의 정답입니다.

import pandas as pd

df1 = df.groupby('region')['coffee_servings'].mean()
df2 = df1.sort_values(ascending=False)

df3 = df.loc[ df['region'] == 'Central', :]
df3.nlargest(3, 'coffee_servings')

 

데이터 생성 코드입니다.

# 데이터 생성
regions = ['North', 'South', 'East', 'West', 'Central']
cities = ['City_' + str(i) for i in range(1, 51)]

data = {
    'city': random.choices(cities, k=100),
    'region': random.choices(regions, k=100),
    'coffee_servings': [random.randint(1, 500) for _ in range(100)]
}

regions = 100개의 observation이 North, South, East, West, Central 중 무작위 1개 값을 가짐
cities = 100개의 observation이 1~51번 중 무작위 1개 값을 가짐


낮은 확률이지만, 이렇게 생성된 observation 중
중복되어 나타나는(예: "city#40 + Central") 데이터가 존재 할 수 있다고 생각합니다.

 

import pandas as pd

df1 = df.groupby('region')['coffee_servings'].mean()
df2 = df1.sort_values(ascending=False)

df3 = df.loc[ df['region'] == 'Central', :]
df4 = df3.sort_values('city', ascending=False)
df5 = df4.groupby('city')['coffee_servings'].sum()
df6 = df5.sort_values(ascending = False)
result = df6.iloc[2]
result

따라서 이렇게 groupby로 한번 더 정리하여 풀었습니다.

이것도 정답일 수 있는 것일까요?
혹은 오답일까요?


추가) 8회 1유형 2번 문제
'전자 생산 비율'이 세 번째로 높은 국가의 '전자' 생산량을 x라고 정의하세요.
'농업' 생산량이 세 번째로 높은 국가의 '농업' 생산량을 y라고 정의하세요.

인데, 강의를 보니 코딩 대한민국님께서는 '전자 생산 비율'을 x라고 정의하신것 같습니다.
확인 부탁드립니다.

빅데이터 빅데이터분석기사

Answer 1

0

codingkorea

좋은 질문 감사합니다!

문제를 다시 살펴보니, 질문자님께서 지적하신 부분이 매우 날카로운 통찰입니다.

문제 해석에 대하여

문제 1-2에서 "커피 소비량이 3번째로 많은 도시('city')의 커피 소비량"이라고 표현했는데, 이 표현이 두 가지로 해석될 수 있습니다:

제 정답의 의도 (nlargest 방식)

  • Central 지역의 모든 행 중에서 coffee_servings 값이 3번째로 큰 "행"을 찾는 것

  • 같은 도시가 여러 번 나타나도 각 행을 독립적으로 취급

질문자님의 접근 (groupby 방식)

  • 같은 도시가 여러 번 나타나면 합산하여, "도시별" coffee_servings 합계가 3번째로 큰 도시를 찾는 것

  • 실무적으로 더 합리적인 접근

정답 여부

질문자님의 풀이도 충분히 정답이 될 수 있습니다!

오히려 "도시의 커피 소비량"이라는 표현을 보면, 질문자님처럼 도시를 하나의 단위로 보고 groupby로 집계하는 것이 더 논리적으로 타당합니다.

다만, 제가 의도했던 것은:

  • 데이터의 각 행을 독립적인 관측치로 보고

  • 단순하게 "3번째로 큰 값"을 찾는 방식

  • 초보자 입장에서 가장 직관적이고 단순한 풀이

결론

  1. 제 정답 (nlargest): 문제를 가장 단순하게 해석한 풀이

  2. 질문자님 정답 (groupby): 실무적으로 더 정확하고 데이터의 의미를 고려한 풀이

두 가지 모두 타당한 접근이며, 이런 질문을 하신 것 자체가 데이터를 깊이 있게 이해하고 계신다는 증거입니다!

앞으로는 이런 애매함을 없애기 위해 문제를 다음과 같이 명확하게 수정하겠습니다:

  • "Central 지역에서 coffee_servings 값이 3번째로 큰 행의 값"

  • 또는 "Central 지역에서 도시별 총 coffee_servings가 3번째로 큰 도시"

좋은 질문 감사드리고, 계속 이렇게 깊이 있게 고민하시면 실력이 많이 늘 것입니다! 👍

수강 기한 연장 문의

0

74

4

코랩 기본 사용법 문의

0

63

1

8회 작업형1 문제2

0

59

2

4회 2유형 1번 문제

0

48

1

다중 선형 회귀 상수항 추가 관련 질문

0

88

2

10회 작업형1번문제2번 문제 풀이 틀림

0

74

2

답변 항상 감사드립니다. 질문 있습니다.

0

68

2

원핫인코딩 이후 칼럼 불일치 문제

0

66

2

6회 1유형 3번 문제

0

63

1

코딩 방법에 따른 채점 기준에 관하여 질문있습니다.

0

77

1

데이터 파일들은 어디서 다운받을 수 있나요?

0

79

2

선형회귀분석 질문

0

47

2

링크가안보여요 어디에올라와있는거죠대체 ? 구글코랩파일이요

0

82

4

범주형 인코딩

0

83

2

원핫인코딩시 라벨링질문

0

78

1

인코딩 질문!!

0

72

1

유형2 질문!!

0

58

2

6회 작업형 2 문제 1

0

61

1

작업형 유형 2에서,,, train, test, split 시 성능

0

122

2

항상 모델학습하실때 train_test_split일부러 안하시는 이유가 있는건가요?

0

94

2

Label Encoding 관련 질문

0

99

3

상수항 질문드립니다. (6회 작업형 2문제)

0

49

1

2유형 답안 제출 시 문의

0

59

1

help, dir 사용법

0

93

2