我想在子列表中找到元素n的分位数。
让我说我(实际上它更大):
列表= [[[1,3,0,1],[1,2,0,1],[1,3,0,1]],[[2,2,1,0],[ 2,2,1,0],[2,2,1,0]]]
我想找到一个方法来为子列表[[1,3,1,1],[1,2,0,1],[9,3]中的2:nd元素找到分位数(如numpy.percentile) ,2,1]]和[[1,2,3,4],[0,2,0,0],[1,2,2,2]]然后我想做一个最大功能,所以我知道这两个子组中哪个子组具有最高选择的分位数,并且我还想知道其他3个常数值(1:st,3:rd和4:th元素)的值在该最大值。
答案 0 :(得分:0)
这是一种可能的方式。假设(如你的问题)
List=[[[1,3,0,1],[1,2,0,1],[1,3,0,1]],[[2,2,1,0],[2,2,1,0],[2,2,1,0]]]
然后可以先将每个第一级元组转换为numpy矩阵,这样可以轻松选择第二列,可以应用numpy.percentile函数。不久,
import numpy as np
quartiles = [np.percentile(np.matrix(l)[:,1], 25) for l in List]
给出每个第一级元组的四分位数(25百分位数)作为输出:
[2.5, 2.0]
然后可以通过numpy.argmax找到最大值:
am = np.argmax(quartiles)
然后用它来选择其他3个常量元素
other3 = [List[am][0][0], List[am][0][2], List[am][0][3]]