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

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

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

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

 

ShenShiyi   2019-02-08 10:28



   1个回答 
3

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

newdf = df.sample(n=nrwos, replace=True, weights=df['weight'])
SofaSofa数据科学社区DS面试题库 DS面经

strong.man   2019-02-09 13:02



  相关主题

怎么对pandas dataframe的行进行有放回抽样?   2回答

pandas dataframe对行去重?   1回答

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

如何重命名pandas的dataframe的列名   2回答

将pandas DataFrame保存成本地txt并删去列名   1回答

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

pandas数据合并 merge 相同的列能不能合并   2回答

把pandas df写入csv时UnicodeEncodeError   1回答

pandas返回组内某列值最大的行?   1回答

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

pandas DataFrame中经常出现SettingWithCopyWarning   2回答

怎么按照index对pd.DataFrame的行排序?   1回答



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

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

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

我们谢绝答非所问。

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

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