大熊猫的系统抽样(举例)
研究人员经常从人群中抽取样本,并利用样本中的数据得出关于整个人群的结论。
常用的抽样方法是系统抽样,它通过简单的两步过程实现:
1.将群体中的每个成员按一定的顺序排列。
2.选择一个随机起点并从n 中选择一个成员作为样本的一部分。
本教程解释了如何使用 Python 对 pandas DataFrame 执行系统采样。
示例:对大熊猫进行系统抽样
假设一位老师想要从一所总共有 500 名学生的学校中获取 100 名学生的样本。她选择使用系统抽样,根据每个学生的姓氏按字母顺序排列,随机选择一个起点,并选择每五个学生作为样本。
以下代码展示了如何创建一个假数据框以在 Python 中使用:
import pandas as pd import numpy as np import string import random #make this example reproducible n.p. random . seeds (0) #create simple function to generate random last names def randomNames(size=6, chars=string. ascii_uppercase ): return ''. join (random. choice (chars) for _ in range(size)) #createDataFrame df = pd.DataFrame({'last_name': [randomNames() for _ in range(500)], 'GPA': np. random . normal (loc=85, scale=3, size=500)}) #view first six rows of DataFrame df. head () last_name GPA 0 PXGPIV 86.667888 1 JKRRQI 87.677422 2 TRIZTC 83.733056 3 YHUGIN 85.314142 4 ZVUNVK 85.684160
下面的代码展示了如何通过系统抽样来获取100名学生的样本:
#obtain systematic sample by selecting every 5th row sys_sample_df = df. iloc [::5] #view first six rows of DataFrame sys_sample_df. head () last_name gpa 3 ORJFW 88.78065 8 RWPSB 81.96988 13 RACZU 79.21433 18 ZOHKA 80.47246 23 QJETK 87.09991 28 JTHWB 83.87300 #view dimensions of data frame sys_sample_df. shape (100, 2)
请注意,样本中包含的第一个成员位于原始数据帧的第一行。样本的每个下一个成员位于前一个成员之后 5 行。
使用shape()我们可以看到我们得到的系统样本是一个 100 行 2 列的数据框。