(100天2小时第十五天)numpy数组

一.安装numpy包,安装成功后检测:

import numpy as np
print(np.version.version)

  

二.基础数组例子

Numpy中,维度被称作axes, 维度数被称作rank

Numpy的数组类是ndarray, 与标准python库的数组不太一样,它包含的元素必须是相同类型的。

ndarray的常见属性如下:

  • ndarray.ndim数组的轴数(即rank)
  • ndarray.shape数组的维度,返回的是一个元组,元组的长度值刚好是ndim
  • ndarray.size数组元素的个数
  • ndarray.dtype数组元素的类型
  • ndarray.itemsize数组元素的字节大小
  • ndarray.data数组包含的实际数据
a=np.arange(15).reshape(3,5)
print(a)
print(type(a))
print(a.ndim)  #数组的轴数
print(a.shape) #数组的维度
print(a.size)  #数组元素的个数
print(a.dtype) #数组元素的类型
print(a.itemsize) #数组元素的字节大小
print(a.data) #数组包含的实际数

  

三.创建数组

通过array函数,可以从普通的python列表或元组来创建。

a=np.array([2,3,4])
print(a)
print(a.dtype) #数组元素的类型
b=np.array([1.2,3.5,5.1])
print(b.dtype) #数组元素的类型

  

一个常见的错误就是在调用array函数时, 传递多个参数。

a=np.array(1,2,3,4) #错误
a=np.array((1,2,3,4)) #正确,元组
a=np.array([1,2,3,4]) #正确,列表

array可以接受列表序列并将它转换为多维数组,同样可以在创建数组的时候,指定数据类型。

c=np.array([(1.5, 2.3),(4,5,6)],dtype=object) #后面必须加dtype=object,否则报错
print(c)
d = np.array([[1,2], [3,4]], dtype=complex)
print(d)

 

Numpy提供了一些函数来创建指定大小的数组,并用占位符来填充数组。

  • zeros函数创建初始值为0的数组
  • ones创建初始值为1的数组
  • empty创建未初始化的随机数组

默认情况下,上面三个函数创建数组的元素类型都是float64

a=np.zeros((3,4))
print(a)
b=np.ones((3,4))
print(b)
c=np.empty((2,5))
print(c)

  

range函数的方法:创建序列函数。第三个参数代表步长

print(np.arange(10,30,5))
print(np.arange(0,2,0.3))

  

当使用arange函数的生成float类型的序列时,生成的序列有时候并不会按照我们预期的步长来生成,要实现这个效果,最好是用linspace函数来代替。第三个参数例如:

from numpy import pi

print(np.linspace(0, 2, 9))
x = np.linspace( 0, 2*pi, 100 )
print(x)
f=np.sin(x)
print(x)

  

四.打印数组

1.当使用print函数打印数组时,numpy会输出一个嵌套的列表形式。

a=np.arange(6) #一维数组
print(a)
b=np.arange(12).reshape(4,3)#二维数组
print(b)
print('\n')
c=np.arange(24).reshape(2,3,4)#三维数组
print(c)

  

2.当数组包含的元素太多时,会省略中间的元素,只打印角落的元素。

print(np.arange(10000))
print('\n')
print(np.arange(10000).reshape(100,100))

  

如果想禁用这个行为,强制打印所有的元素,可以开启set_printoptions选项。

np.set_printoptions(threshold=100)
print(np.arange(100))

  

总结:

1.Numpy中,维度被称作axes, 维度数被称作rank

   Numpy的数组类是ndarray, 与标准python库的数组不太一样,它包含的元素必须是相同类型的。

ndarray的常见属性如下:

  • ndarray.ndim数组的轴数(即rank)
  • ndarray.shape数组的维度,返回的是一个元组,元组的长度值刚好是ndim
  • ndarray.size数组元素的个数
  • ndarray.dtype数组元素的类型
  • ndarray.itemsize数组元素的字节大小
  • ndarray.data数组包含的实际数据

2.通过array函数,可以从普通的python列表或元组来创建数组。

3.a=np.array(1,2,3,4) #错误 需要用小括号和中括号括起来,否则报错。

4.c=np.array([(1.5, 2.3),(4,5,6)],dtype=object) #后面必须加dtype=object,否则报错 。

5.zeros函数创建初始值为0的数组

 ones创建初始值为1的数组

 empty创建未初始化的随机数组

6.创建序列函数:np.arange(10,30,5) 第三个参数代表步长。

                            np.linspace(0, 2, 9) 第三个参数代表个数。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值