怎么对pandas dataframe的行按照权重进行抽样?

  统计/机器学习 抽样方法 数据预处理 Python    浏览次数: 92
0

怎么对pandas dataframe的行按照某个权重进行有放回地抽样?

假设每行都有一个权重,权重大的行就更容易抽到,甚至多次被抽到,这个怎么实现呢?

 

ShenShiyi   2019-02-08 10:28



   1个回答 
2

假设你要你抽出nrows行,df中有一列weight表示你说的那个权重,下面的代码就可以实现你需要的功能

newdf = df.sample(n=nrwos, replace=True, weights=df['weight'])
SofaSofa数据科学社区 DS面经 问答 实战

strong.man   2019-02-09 13:02



  相关主题

对pandas.DataFrame进行groupby结果中index的问题   2回答

pandas怎么读入tsv格式的数据   2回答

怎么利用pandas获得一个列联表(contingency table)?   1回答

pandas 如何扔掉同时满足两个特征过滤条件的数据?   1回答

pandas dataframe对行去重?   1回答

pd.dataframe怎么同时对两个key排序?   1回答

找到pd.DataFrame中某个列名对应的下标?   1回答

pandas读取文件夹中所有的csv文件   1回答

怎么把collections.Counter的计数结果转为pandas的DataFrame   2回答

pandas报错ValueError: Cannot convert non-finite values (NA or inf) to integer   1回答

pd.read_csv读取数据时自动跳过空白行   1回答

pandas groupby agg中使用自定义函数   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!