Pandas의 클러스터 샘플링: 예제 포함
연구자들은 종종 모집단에서 표본을 채취하고 표본의 데이터를 사용하여 모집단 전체에 대한 결론을 도출합니다.
일반적으로 사용되는 샘플링 방법은 모집단을 클러스터 로 나누고 특정 클러스터의 모든 구성원을 선택하여 샘플에 포함시키는 클러스터 샘플링입니다.
이 튜토리얼에서는 Python의 Pandas DataFrame에서 클러스터 샘플링을 수행하는 방법을 설명합니다.
예: Pandas의 클러스터 샘플링
도시 투어를 제공하는 회사가 고객을 대상으로 설문조사를 원한다고 가정해 보겠습니다. 그들은 하루에 제공하는 10개의 투어 중에서 무작위로 4개의 투어를 선택하고 각 고객에게 자신의 경험을 1에서 10까지 평가하도록 요청합니다.
다음 코드는 작업할 Pandas DataFrame을 만드는 방법을 보여줍니다.
import pandas as pd import numpy as np #make this example reproducible n.p. random . seeds (0) #createDataFrame df = pd.DataFrame({'tour': np. repeat (np. arange (1,11), 20), 'experience': np. random . normal (loc=7, scale=1, size=200)}) #view first six rows of DataFrame df. head () tour experience 1 1 6.373546 2 1 7.183643 3 1 6.164371 4 1 8.595281 5 1 7.329508 6 1 6.179532
다음 코드는 4번의 방문을 무작위로 선택하고 해당 방문의 각 구성원을 샘플에 포함시켜 고객 샘플을 얻는 방법을 보여줍니다.
#randomly choose 4 tour groups out of the 10 clusters = np. random . choice (np. arange (1,11), size=4, replace= False ) #define sample as all members who belong to one of the 4 tour groups cluster_sample = df[df[' tour ']. isin (clusters)] #view first six rows of sample cluster_sample. head () tour experience 40 3 5.951447 41 3 5.579982 42 3 5.293730 43 3 8.950775 44 3 6.490348 #find how many observations came from each tour group cluster_sample[' tour ']. value_counts () 10 20 6 20 5 20 3 20 Name: tour, dtype: int64
결과에서 우리는 다음을 볼 수 있습니다:
- 투어 그룹 #10의 고객 20명이 샘플에 포함되었습니다.
- 관광그룹 #6의 고객 20명이 표본에 포함되었습니다.
- 관광그룹 #5의 고객 20명이 표본에 포함되었습니다.
- 관광그룹 #3의 고객 20명이 표본에 포함되었습니다.
따라서 이 표본은 4개의 서로 다른 관광 그룹의 총 80명의 고객으로 구성됩니다.