我有一个.txt文件,其中包含一个大数据集(超过9000万个条目),格式如下:
^{tb1}$
在文本文件中,分数和名称由2个空格分隔,每行有一个分数名称条目
此.txt文件不能一次加载到内存中
如何在python中获得前N名最高分者?
注意:N的值可能非常大
示例:
所以当N=2时
输出应为:
雷克斯
马克斯
python中有没有一种方法可以直接获得前N个记分器,而不必再次以另一种文件格式保存整个数据
哪种方式更有效?
1.)逐个读取分数条目,并保存/更新最大的N个分数条目?
2.)将所有数据移动到数据帧并使用NLAGEST
Tags:
要将文本文件读入pandas^{} ,答案是here。} 。例如,您可以执行以下操作:
然后,您可以尝试以下操作: 您可以尝试使用pandas^{
您还可以将}
score
列转换为Numpy数组并使用^{此外,您可以尝试对数据帧进行排序,并按如下方式获取前n行:
下面是一个具有1亿条记录和
n=1000000
的数据帧的运行时比较结果:
因此,最有效的方法是使用
nlargest
相关问题 更多 >
编程相关推荐