大熊猫的系统抽样(举例)


研究人员经常从人群中抽取样本,并利用样本中的数据得出关于整个人群的结论。

常用的抽样方法是系统抽样,它通过简单的两步过程实现:

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 列的数据框。

其他资源

抽样方法的类型
pandas 中的聚类采样
大熊猫的分层抽样

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注