按相同概率分布进行抽样
许多机构(例如 U.S. Census)会公开发布其针对公民收集的数据样本。这些数据集会先通过多种技术进行匿名化处理,然后只发布 1% 到 5% 的极小部分,以便进行统计计算。抽样被认为能够保留数据的统计特性,从而让研究者理解和分析背后的人群。
在本练习中,您将通过依据原始数据集的分布进行抽样,来匿名化 IBM HR 数据集中的 department 列。
数据集已加载为 hr。
本练习是课程的一部分
Python 中的数据隐私与匿名化
练习说明
- 获取
department列中各唯一值的相对频率。 - 从
counts中提取各概率,并将其存入名为distributions的变量。 - 按此前计算的概率分布进行抽样。样本大小应与
hr数据集的大小相同。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Obtain the probability distribution counts
counts = ____
# Get the probability distribution values
distributions = ____
# Sample from the calculated probability distributions
hr['department'] = np.random.choice(counts.index,
p=____,
size=len(____))
# See the resulting DataFrame
print(hr.head())