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
嗯,我不确定
但是,我梦寐以求的计算机科学学位告诉我,为了“找到最大值”而进行排序不是一条可行之路。排序的计算复杂度充其量是O(N),通常更接近O(N*log(N))。然而,查找未排序列表的最大值(或最小值)总是O(N)
那么,这意味着什么?不要对文件进行排序以查找最大值,请搜索它。这告诉我
df.nlargest(1,'volume')
(第一种方法)从理论角度来看,很可能是您想要使用的方法相关问题 更多 >
编程相关推荐