python如何随机加权选取n个数据

1、有一个文件,文件格式:
A m n
例如:
天气 4 2
达康书记 8 10
啦拉拉 2 1
...

A表示数据名称;m表示数据值;n表示该数据出现的次数

2、如何快速根据不同数据出现的次数作为依据,随机选择出n个数据呢?

3、自己的想法:
自己在网上搜索了python关于random的资料,一般的思路就是,多个随机选择一个,是根据权重和来进行随机的。
对于选择多个,自己目前是先统计所有的权重和,根据这个sum,random.randint(0, sum)随机出一个数,然后加到每一个值上,最后根据这个值进行排序,取值最高的n个。

4、自己的疑问:
面对千万级别行数的数据,如何减少计算时间?
随机的方法是否是可靠,随机选取多个有没有更好的方法?

非常感谢!

阅读 4.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题