对于二维数组(矩阵)的应用有多广与多重要,怎么研究都不为过,突然想获取其中最大的一组值,发现max返回的是第一列最大值的这组数,如何获得第二列最大的这组数呢?
比如:A=[[1, 2], [12, 22], [22, 5], [22, 50], [122, 50], [330, 3], [4, 400], [34, 56], [3, 44]]
如果max(A),返回的是[330, 3]
想要获取 [4, 400]这组数(也就是第二列400最大),如何做呢?
如下:
max(A,key=lambda x:x[1])
[4, 400]
其中lambda表达式返回的key这个关键字参数是内置的,换做其他的就会出错,迭代的就是第二列的值
当然我们一般转化成numpy来处理要方便点:
NA=np.array(A)
max(NA,key=lambda x:x[1])
array([ 4, 400])
获取第二列最大值:
max(NA,key=lambda x:x[1])[1]
400
熟悉pandas,处理数据就更加直观简单。文章来源:https://www.toymoban.com/news/detail-458245.html
import pandas
pd.DataFrame(A)
0 1
0 1 2
1 12 22
2 22 5
3 22 50
4 122 50
5 330 3
6 4 400
7 34 56
8 3 44
pd.DataFrame(A)[1]
0 2
1 22
2 5
3 50
4 50
5 3
6 400
7 56
8 44
Name: 1, dtype: int64
pd.DataFrame(A)[1].max()
400
结果和Excel表格一样的直观文章来源地址https://www.toymoban.com/news/detail-458245.html
到了这里,关于Python获取二维数组(矩阵)第二列值与最大值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!