栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据列的分布随机采样熊猫数据帧

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据列的分布随机采样熊猫数据帧

您可以从文档中使用sample:

从对象轴返回随机的项目样本。

诀窍是在每个组中使用样本,一个代码示例:

import pandas as pdpositions = {"least": 0.277220, "left": 0.250000, "right": 0.250000, "left-center": 0.141244, "right-center": 0.081536}data = [['title-{}-{}'.format(i, position), position] for i in range(1000) for position in positions.keys()]frame = pd.Dataframe(data=data, columns=['title', 'position'])print(frame.shape)def sample(obj, replace=False, total=1000):    return obj.sample(n=int(positions[obj.name] * total), replace=replace)result = frame.groupby('position', as_index=False).apply(sample).reset_index(drop=True)print(result.groupby('position').agg('count'))

输出量

(5000, 2)   titlepositionleast277left 250left-center     141right250right-center     81

在上面的示例中,我创建了一个具有5000行2列的数据框,这是输出的第一部分。

我假设您有一个位置字典(要将Dataframe转换为字典,请参见this),其中包含要从每个组中采样的百分比和一个总参数(即要采样的总数)。

在输出的第二部分中,您可以看到100个最小的277行

277 / 1000 =0.277
。这是所需数量的近似值,其余组也是如此。需要注意的是,样本数为999,而不是预期的1000。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661447.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号