python关于numpy基础问题 10

a=np.arange(15).reshape(3,5)a.ndim执行结果是2,非常不解,nidm是轴的个数,a有3个维度,为什么ndim结果是2,不是3呢?... a = np.arange(15).reshape(3, 5)

a.ndim
执行结果是2,非常不解,nidm是轴的个数,a有3个维度,为什么ndim结果是2,不是3呢 ?
展开
 我来答
龙氏风采
2016-12-24 · 知道合伙人互联网行家
龙氏风采
知道合伙人互联网行家
采纳数:5849 获赞数:12817
从事互联网运营推广,5年以上互联网运营推广经验,丰富的实战经

向TA提问 私信TA
展开全部
  Python发展至今,已经有越来越多的人使用python进行科学技术,NumPY是python中的一款高性能科学计算和数据分析的基础包。
  ndarray
  ndarray(以下简称数组)是numpy的数组对象,需要注意的是,它是同构的,也就是说其中的所有元素必须是相同的类型。其中每个数组都有一个shape和dtype。
  shape既是数组的形状,比如
  复制代码
  1 import numpy as np
  2 from numpy.random import randn
  3
  4 arr = randn(12).reshape(3, 4)
  5
  6 arr
  7
  8 [[ 0.98655235 1.20830283 -0.72135183 0.40292924]
  9 [-0.05059849 -0.02714873 -0.62775486 0.83222997]
  10 [-0.84826071 -0.29484606 -0.76984902 0.09025059]]
  11
  12 arr.shape
  13 (3, 4)
  复制代码
  其中(3, 4)即代表arr是3行4列的数组,其中dtype为float64
  一下函数可以用来创建数组
  array  将输入数据转换为ndarray,类型可制定也可默认
  asarray  将输入转换为ndarray
  arange类似内置range
  ones、ones_like  根据形状创建一个全1的数组、后者可以复制其他数组的形状
  zeros、zeros_like类似上面,全0
  empty、empty_like创建新数组、只分配空间
  eye、identity创建对角线为1的对角矩阵
  数组的转置和轴对称
  转置是多维数组的基本运算之一。可以使用.T属性或者transpose()来实现。.T就是进行轴对换而transpose则可以接收参数进行更丰富的变换
  复制代码
  绝兆arr = np.arange(6).reshape((2,3))
  print arr
  [[0 1 2]
  [3 4 5]]
  print arr.T
  [[0 3]
  [1 4]
  正段[2 5]]
  arr = np.arange(24).reshape((2,3,4))
  print arr
  [[[ 0 1 2 3]
  [ 4 5 6 7]
  [ 8 9 10 11]]
  [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
  print arr.transpose((0,1,2))
  [[[ 0 1 2 3]
  [ 4 5 6 7]
  [ 8 9 10 11]]
  [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
  复制代码
  数组的运算
  大小相等的数组之间做任何算术运算都会将运算应用到元素级别。
  复制代码
  1 arr = np.arange(9).reshape(3, 3)
  2 print arr
  3
  4 [[0 1 2]
  5 [3 4 5]
  6 [6 7 8]]
  7
  8 print arr*arr
  9
  10 [[ 0 1 4]
  11 [ 9 16 25]
  12 [36 49 64]]
  13
  14 print arr+arr
  15
  16 [[ 0 2 4]
  17 [ 6 8 10]
  18 [12 14 16]]
  19
  20 print arr*4
  21
  22 [[ 0 4 8]
  23 [12 16 20]
  24 [24 28 32]]
  复制代码
  numpy的简单计算中,ufunc通用函数是对数组中的数据执行元素级运算的函数。
  如:
  复制代码
  arr = np.arange(6).reshape((2,3))
  print arr
  [[0 1 2]
  [3 4 5]]
  print np.square(arr)
 并清租 [[ 0 1 4]
  [ 9 16 25]]
  复制代码
  类似的有:abs,fabs,sqrt,square,exp,log,sign,ceil,floor,rint,modf,isnan,isfinite,isinf,cos,cosh,sin,sinh,tan,tanh,
  add,subtract,multiply,power,mod,equal,等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斛晓星0d1
2017-04-11
知道答主
回答量:1
采纳率:0%
帮助的人:1005
展开全部
ndim的维度(数组的维数(即数组轴的个数),等于秩。最常见的为二维数组(矩阵))不是通常矩阵中所说的维度(矩阵多少行多少列),这个矩阵可以被形容为多少行多少列,所以这链斗种程度上来说是族唤拿2维。当然如果矩阵只有一个数,那么兆搭就是1了。nidm的值就是shape函数返回元组的长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式