Python怎么获取二维matlab 矩阵最大值的单行每列最大值

Numpy中找出array中最大值所对应的行和列
Python特别灵活,肯定方法不止一种,这里介绍一种我觉得比较简单的方法。
如下图,使用x == np.max(x) 获得一个掩模矩阵,然后使用where方法即可返回最大值对应的行和列。
where返回一个长度为2的元组,第一个元素保存的是行号,第二个元素保存的是列号。
没有更多推荐了,
不良信息举报
举报内容:
Numpy中找出array中最大值所对应的行和列
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!二维数组中每行每列取且仅取一个数 求这些数的最小和
[问题点数:40分,结帖人mzzdcq]
二维数组中每行每列取且仅取一个数 求这些数的最小和
[问题点数:40分,结帖人mzzdcq]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2010年3月 专题开发/技术/项目大版内专家分月排行榜第二2009年6月 专题开发/技术/项目大版内专家分月排行榜第二2009年5月 专题开发/技术/项目大版内专家分月排行榜第二2009年1月 专题开发/技术/项目大版内专家分月排行榜第二
2010年11月 专题开发/技术/项目大版内专家分月排行榜第三2010年5月 专题开发/技术/项目大版内专家分月排行榜第三2009年12月 专题开发/技术/项目大版内专家分月排行榜第三2009年11月 专题开发/技术/项目大版内专家分月排行榜第三2009年8月 专题开发/技术/项目大版内专家分月排行榜第三2009年4月 专题开发/技术/项目大版内专家分月排行榜第三2009年3月 专题开发/技术/项目大版内专家分月排行榜第三2008年12月 专题开发/技术/项目大版内专家分月排行榜第三
匿名用户不能发表回复!|python二维数组如何挑选出一定范围的数值?_百度知道
python二维数组如何挑选出一定范围的数值?
比如说有一个二维数组13.1 13.2 13.3 13.4 15.5 15.0 45.2 22.322.3 36.1 13.5 12.3如何得到其中大于10 小于15的数,并写入一个新的一维数组??
我有更好的答案
[j&for&i&in&a&for&j&in&i&if&10&&&j&&&15]&&&#其中a是你的数组&,i与j是变量
采纳率:59%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
二维数组的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。苹果/安卓/wp
小桥流水人家
小桥流水人家
积分 15206, 距离下一级还需 3094 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见, 签名中使用代码
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶, 变色卡下一级可获得
道具: 置顶卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 2 天连续签到: 1 天[LV.1]初来乍到
用什么函数求一个矩阵的每一行的最大值,从而生成一个列向量?比如说矩阵是 9行8列,那么生成的向量就应该是9行一列。高手快帮忙呀!
本帖最后由 sungmoo 于
14:34 编辑 ermutuxia 发表于
10:42 用什么函数求一个矩阵的每一行的最大值,从而生成一个列向量?比如说矩阵是 9行8列,那么生成的向量就应该是9行一列。*你接下来想用这个向量做什么呢?(另外,以后请勿叫“老师”)
*设x是Stata中的矩阵
*快速看到结果还要靠Mata:
rowmax(st_matrix(&x&))
*Stata中的一个老办法:
mat m=J(9,1,.)
forv i=1/9{
loc max=x[`i',1]
forv j=2/8{
loc max=cond(x[`i',`j']&`max', x[`i',`j'], `max')
mat m[`i',1]=`max'
sungmoo版的思维能力太强啦,程序才能写的那.
好的意见建议
总评分:&论坛币 + 21&
学术水平 + 8&
热心指数 + 8&
信用等级 + 8&
小桥流水人家
对sungmoo老师的回复:
sungmoo老师,首先非常感谢sungmoo老师的回复,我是想根据几个变量生成一个新的变量,生成的方法就是哪个变量的取值大则新生成的那个变量就取哪个变量的值,每一条观测都是这样。因此我想把几个变量转化成一个矩阵,然后求矩阵每一行的最大值,生成一个列向量,再把新生成的向量转化为变量,这样我就实现了我的目的。我也不知道有没有什么更简单的方法。
ermutuxia 发表于
14:01 我是想根据几个变量生成一个新的变量,生成的方法就是哪个变量的取值大则新生成的那个变量就取哪个变量的值,每一条观测都是这样。因此我想把几个变量转化成一个矩阵,然后求矩阵每一行的最大值,生成一个列向量,再把新生成的向量转化为变量,这样我就实现了我的目的。我也不知道有没有什么更简单的方法。********& &&&x*是变量组
egen m=rowmax(x*)
Stata中的基本数据形式有scalar、matrix(vector)、variable、macro(global、local)等。
Stata的强项是处理variable(而非matrix),它针对variable设计了大量的命令。习惯以矩阵为基本处理对象的使用者在Stata状态下若总想通过处理matrix来处理variable,则可能事倍功半(而忽略了Stata提供的功能)。
处理矩阵,最好使用Mata。Stata的matrix,维数受限制,且不能是字符型的。
小桥流水人家
谢谢!非常感谢!
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 输出数组的行和列数
print x.shape
# 只输出行数
print x.shape[0] # 4
# 只输出列数
print x.shape[1] # 3
阅读(...) 评论()

我要回帖

更多关于 matlab寻找矩阵最大值 的文章

 

随机推荐