连续排序10000条记录的更有效(最快)的方法是什么

2024-04-28 12:02:57 发布

您现在位置:Python中文网/ 问答频道 /正文

Im连续读取每秒更新3次的price.csv,使用df.nlargest或df.sort_值按体积排序,哪种方法更快

#Read stock price from price.csv, sort by volume, print Highest stock volume.
import pandas as pd
while 1==1:    
    try:
        df=pd.read_csv ("R:/price.csv").dropna()
        #df=df.nlargest(1,'volume')                                #first method
        #df.sort_values('volume',ascending=False,inplace=True)     #second method   
        print ("\t",df.iloc[0,0],df.iloc[0,1] )  
    except:
        pass
del df

样本输出:

 SNDL 79416563.0 
 SNDL 79552154.0 
 ITUB 20537823.0 
 PCG 24423451.0 
 EDU 104113726.0 
 TSM 5074870.0 
 EDU 105639190.0 
 ABEV 30110259.0 
 CEI 10292901.0 
 PCG 24739218.0 
 SWN 19374652.0 

Tags: csvdfstocksortpricemethodpdprint
1条回答
网友
1楼 · 发布于 2024-04-28 12:02:57

嗯,我不确定

但是,我梦寐以求的计算机科学学位告诉我,为了“找到最大值”而进行排序不是一条可行之路。排序的计算复杂度充其量是O(N),通常更接近O(N*log(N))。然而,查找未排序列表的最大值(或最小值)总是O(N)

那么,这意味着什么?不要对文件进行排序以查找最大值,请搜索它。这告诉我df.nlargest(1,'volume')(第一种方法)从理论角度来看,很可能是您想要使用的方法

相关问题 更多 >