Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 元组索引的Python列表

我是一位需要使用Python做某些事情的Matlab用户,如果有人可以通过Python语法帮助我,我将非常感激:

(1)列表可以由Python中的元组索引吗?如果是这样,我该怎么做?例如,我想用它来表示数据矩阵。

(2)假设我可以使用由元组索引的列表,例如data [(row,col)],如何删除整个列?我知道在Matlab中,我可以做类似的事情

new_data = [data(:,1:x-1) data(:,x+1:end)]; 如果我想从数据中删除列x。

(3)如何轻松计算每行中非负元素的数量。例如,在Matlab中,我可以执行以下操作:

sum(data>=0,1) 这将给我一个列向量,代表每行中非负条目的数量。

非常感谢!



回答:

我同意所有人。使用Numpy / Scipy。但是,这是您问题的具体答案。
  1. 是。索引可以是内置列表或Numpy数组。假设x = scipy.array([10, 11, 12, 13])和y = scipy.array([0, 2]) 。然后x[[0, 2]]和x[y]都返回相同的东西。
  2. new_data = scipy.delete(data, x, axis=0)
  3. (data>=0).sum(axis=1)
注意:示例2说明了Numpy / Scipy的常见陷阱。如示例3所示,通常将axis属性设置为0以沿数组的第一维进行操作,设置为1以沿第二维进行操作,依此类推。但是某些命令(例如delete实际上颠倒了维度的顺序,如示例2所示。您知道行主要还是列主要。



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 05:17


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.