如何解决在python中对总体进行抽样时如何创建“权重”字段?
我正在对总体进行抽样,我想知道是否有一种直接的方法可以生成一个名为“权重”的列,该列指示抽样数据中的样本权重。
这是我的代码。
我创建了要抽样的总体
import pandas as pd
df=pd.DataFrame({'Age':[18,20,56,57,60]})
print(df)
Age
0 18
1 20
2 20
3 56
4 56
5 57
6 60
我从该人群中随机抽取 30% 的样本
sampleData = df.sample(frac=0.3)
print(sampleData)
Age
6 60
5 57
我想知道的是是否可以生成一个名为“重量”的字段来表示样本重量(无需手动计算重量)。因此,我希望我的示例数据如下所示:
Age Weight
6 60 3.333
5 57 3.333
解决方法
只需使用 assign()
方法并在其中使用 round()
方法:-
frac=0.3
sampleData=df.sample(frac=frac).assign(Weight=round(1/frac,3))
现在如果你打印 sampleData
你会得到你想要的输出:-
Age Weight
4 56 3.333
2 20 3.333
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。