我有一个费率列表,其中包含近35040个值。我已经将列表划分为365个块,其中包含96个元素。现在,我想从每个块中获得前4个最小值,为了实现这一点,我将按递增顺序对块进行排序,并打印或将列表中的前4个元素插入到新列表中。 我的做法:
import pandas as pd
inputFile = "inputFile.xlsx"
fileName = inputFile
inputSheetDF = pd.read_excel(fileName, sheet_name='Sheet1')
iexRate = inputSheetDF['IEX Price']
#iexRate = [2.3, 2.4, 3, 4, 3.2, 4.1, 5.......]
testList = []
n = 96
x = [iexRate[i:i + n] for i in range(0, len(iexRate), n)]
x.sort()
但是这给了我一个错误
ValueError: Can only compare identically-labeled Series objects
所以基本上我希望在testList
中有一个输出,它包含每个96块中的前4个最小元素
这里有一个建议的解决方案,它的优点是可以矢量化。我使用的是一个小得多的数据集-3个数据块,每个数据块4个,从每个数据块中抽取顶部(按钮)2个数据块-但是一个更大的数据集的想法当然是相同的
要获得所有费率的统一列表,只需执行以下操作:
相关问题 更多 >
编程相关推荐