微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在python中对总体进行抽样时如何创建“权重”字段?

如何解决在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] 举报,一经查实,本站将立刻删除。