问题描述:
给定一个二维数组,求每一行的最大值
返回一个列向量
如:
给定数组【1,2,3;4,5,3】
返回[3;5]
import numpy as npx = np.array([[1,2,3],[4,5,3]])
# 先求每行最大值得下标
index_max = np.argmax(x, axis=1)# 其中,axis=1表示按行计算
print(index_max.shape)max = x[range(x.shape[0]), index_max]
print(max)
# 注意到这里返回的是行向量
# 这可以是一种通用的方法,
# 其中range()可以是一个列向量,表示0到n
# index_max也是一个列向量,表示具体的坐标
# 这样,两个坐标组合起来就成为了二维索引max_ = x[range(x.shape[0]), index_max].reshape(-1,1)
print(max_)
# 这样变成了列向量
【python|python+numpy按行求一个二维数组的最大值】值得注意的是:
1)np.argmax得到的是列向量,而不是行向量,这在其他的函数中也有体现
2)求和以及其他运算可以按照行或者列来,通过指定axis即可
3)通过reshape()来重新返回具体的维度,我们需要的维度。函数的参数可以有一个-1,但只能有一个,表示这个数是未知的
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)