Python으로 살펴보는 표본추출(Sampling)
James Chapman
Curriculum Manager, DataCamp




coffee_ratings.sample(n=5, random_state=19000113)
total_cup_points variety country_of_origin aroma flavor \
437 83.25 None Colombia 7.92 7.75
285 83.83 Yellow Bourbon Brazil 7.92 7.50
784 82.08 None Colombia 7.50 7.42
648 82.58 Caturra Colombia 7.58 7.50
155 84.58 Caturra Colombia 7.42 7.67
aftertaste body balance
437 7.25 7.83 7.58
285 7.33 8.17 7.50
784 7.42 7.67 7.42
648 7.42 7.67 7.42
155 7.75 8.08 7.83


sample_size = 5pop_size = len(coffee_ratings)print(pop_size)
1338
interval = pop_size // sample_sizeprint(interval)
267
coffee_ratings.iloc[::interval]
total_cup_points variety country_of_origin aroma flavor aftertaste \
0 90.58 None Ethiopia 8.67 8.83 8.67
267 83.92 None Colombia 7.83 7.75 7.58
534 82.92 Bourbon El Salvador 7.50 7.50 7.75
801 82.00 Typica Taiwan 7.33 7.50 7.17
1068 80.50 Other Taiwan 7.17 7.17 7.17
body balance
0 8.50 8.42
267 7.75 7.75
534 7.92 7.83
801 7.50 7.33
1068 7.17 7.25
coffee_ratings_with_id = coffee_ratings.reset_index()
coffee_ratings_with_id.plot(x="index", y="aftertaste", kind="scatter")
plt.show()

산점도에서 패턴이 보이지 않을 때만 체계적 표본 추출이 안전합니다
shuffled = coffee_ratings.sample(frac=1)shuffled = shuffled.reset_index(drop=True).reset_index()shuffled.plot(x="index", y="aftertaste", kind="scatter") plt.show()

행 섞기 + 체계적 표본 추출은 단순 무작위 표본 추출과 동일합니다
Python으로 살펴보는 표본추출(Sampling)