Python:子列表的分位数

Python:子列表的分位数,python,numpy,sublist,quantile,Python,Numpy,Sublist,Quantile,我想在子列表中找到元素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,1]]和[[1,2,3,4],[0,2,0,0],[1,2,2,2]]中为第二个元素找到numpy.percentile这样的分位数,然后我想做一个最大值函数,这样我就知道这两个子列表中哪一个选择的分位数最高,我还想知道其他

我想在子列表中找到元素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,1]]和[[1,2,3,4],[0,2,0,0],[1,2,2,2]]中为第二个元素找到numpy.percentile这样的分位数,然后我想做一个最大值函数,这样我就知道这两个子列表中哪一个选择的分位数最高,我还想知道其他3个常量值1:st的值,3:rd和4:th元素的最大值。

这里有一种可能的方法。假设和你的问题一样

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]]

你好欢迎来到StackOverflow!花一分钟看看这个部分!所以用户希望提问者拿出一些代码来查看。。。