索引后查看形状:

In [295]: A=np.matrix([1,2,3])

In [296]: A.shape

Out[296]: (1, 3)

In [297]: A[0]

Out[297]: matrix([[1, 2, 3]])

In [298]: A[0].shape

Out[298]: (1, 3)

这种行为的关键是np.matrix总是2d.所以即使你选择一行(A [0,:]),结果仍然是2d,形状(1,3).因此,您可以根据需要串起尽可能多的[0],并且不会发生任何新的事情.

你想用A [0] [0]完成什么?与A [0,0]相同?

对于基本np.ndarray类,这些是等价的.

请注意,Python解释器将索引转换为__getitem__调用.

A.__getitem__(0).__getitem__(0)

A.__getitem__((0,0))

[0] [0]是2个索引操作,而不是一个.所以第二个[0]的效果取决于第一个产生的效果.

对于数组A [0,0]等价于A [0,:] [0].但对于矩阵,您需要:

In [299]: A[0,:][:,0]

Out[299]: matrix([[1]]) # still 2d

=============================

“An array of itself”, but I doubt anyone in their right mind would choose that as a model for matrices in a scientific library.

What is, then, the logic to the output I obtained? Why would the first element of a matrix object be itself?

In addition, A[0,:] is not the same as A[0]

鉴于这些评论,请允许我提出一些澄清.

A [0]并不意味着“返回第一个元素”.这意味着沿第一轴选择.对于1d数组,表示第1项.对于2d数组,它表示第1行.对于ndarray,它将是一个1d数组,但对于矩阵,它是另一个矩阵.因此对于2d数组或矩阵,A [i,:]与A [i]是相同的.

A [0]不只是返回自己.它返回一个新矩阵.不同的身份:

In [303]: id(A)

Out[303]: 2994367932

In [304]: id(A[0])

Out[304]: 2994532108

它可能具有相同的数据,形状和步幅,但它是一个新对象.它与许多行矩阵的第i行一样独特.

大多数独特的矩阵活动定义在:numpy / matrixlib / defmatrix.py中.我打算建议查看矩阵.__ getitem__方法,但大多数动作都是在np.ndarray .__ getitem__中执行的.

为了方便老派的MATLAB程序员,np.matrix类被添加到numpy中. numpy数组几乎可以有任意数量的维度,0,1,…. MATLAB只允许2,尽管2000左右的版本将其推广到2或更多.

python numpy矩阵索引_python – Numpy中的矩阵索引相关推荐

  1. python numpy 索引_Python numpy中布尔索引的问题。

    布尔索引布尔数组作为数组的索引时,会根据布尔数组的True False值,选择对应轴上的数据进行筛选 一个dataframe的数组 _heartbeat_ a \ 0 NaN Mozilla/5.0 ...

  2. python的常见矩阵除法_Python numpy矩阵处理运算工具用法汇总

    numpy是用于处理矩阵运算非常好的工具.执行效率高,因为其底层是用的是C语句 使用numpy,需要将数据转换成numpy能识别的矩阵格式. 基本用法: numpy.array(object, dty ...

  3. python numpy读取数据_Python numpy数据的保存和读取

    原博文 2019-04-01 16:30 − 在科学计算的过程中,往往需要保存一些数据,也经常需要把保存的这些数据加载到程序中,在 Matlab 中我们可以用 save 和 lood 函数很方便的实现 ...

  4. python numpy库下载_Python Numpy库快速入门

    https://stackedit.io/viewer 1/9 Python 科 学 计 算 库 NumPy 的 使 ⽤ NumPy 的 介 绍 NumPy(Numerical Python 的 缩 ...

  5. python多条件求和_python – Numpy:条件求和

    我有以下numpy数组: import numpy as np arr = np.array([[1,2,3,4,2000], [5,6,7,8,2000], [9,0,1,2,2001], [3,4 ...

  6. python未知数的矩阵运算_python – Numpy矩阵运算

    这是解决此类问题的一般策略. 首先,编写一个小脚本,将循环显式写入两个不同的函数,最后进行测试,确保两个函数完全相同: import numpy as np from numpy import new ...

  7. python矩阵和向量乘积_NumPy 中的矩阵和向量

    NumPy 中的矩阵和向量 numpy的 ndarray 类用于表示矩阵和向量. 要在numpy中构造矩阵,我们在列表中列出矩阵的行, 并将该列表传递给numpy数组构造函数. 例如,构造与矩阵对应的 ...

  8. python维度扩展_在TensorFlow中实现矩阵维度扩展

    一般TensorFlow中扩展维度可以使用tf.expand_dims().近来发现另一种可以直接运用取数据操作符[]就能扩展维度的方法. 用法很简单,在要扩展的维度上加上tf.newaxis就行了. ...

  9. python面试经典问题_Python面试中最常见的25个问题-结束

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 13)Python中的lambda表达式是什么? lambda表达式是一个匿名函数,通常用作代码行内的嵌入函数. 14)为什么Python中的lambda ...

最新文章

  1. 使用注解开发SpringMVC详细配置教程
  2. java 基础知识三 java变量
  3. 什么是集群?什么又是负载均衡?你说得清楚吗?
  4. Linux系统中运行.sh文件的几种方法
  5. 玩转Linux必备知识(二)
  6. python中的def语句_Python def 函数
  7. Spring 教程03
  8. 理解T-SQL: 脚本和批处理
  9. 下列关于html5表单的多样输入方式,IT兄弟连 HTML5教程 HTML5表单 多样的输入类型1...
  10. python中sendmessage的使用_SendMessage函数完全使用手册
  11. Logisim-Gates library
  12. EAN-13码知识及其校验码的计算方法
  13. 微信小程序创建过程(具体步骤)
  14. 【C语言 赋值抑制符 *】
  15. 如何合理管理您的时间呢?
  16. 有历史搜索记录的搜索框(百度搜索案例)
  17. PDM系统六大功能介绍
  18. 力扣算法1~10题(js)
  19. 2020年蓝桥杯B组个人题解(热的,不知道对错)
  20. 从苹果到索尼:六大生态系统的崛起

热门文章

  1. 计算机网络基础:局域网协议相关知识
  2. java resource放入的文件没有生成在classes中_快速部署版@开源在线考试系统一键生成各种题型试卷且实时判卷...
  3. system函数和popen函数使用方法
  4. note同步不及时 one_朱海舟回应锤子便签同步不及时:工程师已经解决
  5. 面试官:请实现一个通用函数把 callback 转成 promise
  6. 【经验分享】Hydra(爆破神器)使用方法
  7. Java学习优秀网站
  8. Spring入门5.事务管理机制
  9. Tomcat一步步实现反向代理、负载均衡、内存复制
  10. 换工作了,开始用金蝶的BOS了,好多东西都要学啊!