python>>numpy包

章节内容

        什么是NumPy模块和NumPy数组

        创建数组

        基本数据类型

        数据可视化

        索引和切片

        副本和视图

目录

什么是NumPy模块和NumPy数组?

创建数组

基本数据类型

数据可视化

索引和切片

副本和视图


什么是NumPy模块和NumPy数组?

NumPy数组

python对象
  • 高级数字对象:整数、浮点数
  • 容器:列表,字典,元组
NumPy提供:
  • 继承了python中的列表(List)容器中的优良特性
  • 丰富的函数,便于提高计算效率,提高代码简洁新
  • 专业为科学计算而设计
  • 也成为面向数组,矩阵(多维数组)的计算

计算效率大幅度提高

每个循环 178 μs ± 3.98 μs(7 次运行,每次 10,000 次循环)。

NumPy 参考文档

  •  一个外国的文档:NumPy Documentation
  • 怎么查询一个numpy中的关键词

  • 交互式的帮助

 创建数组

利用arange手动构建数组

 

利用linspace创建数组

 

 用特殊的方法创建特殊数组

  • 利用zeros(n)创建一个n个元素的数组

  • 利用zeros((n,m))创建多维数组

  • 利用eye((n,m))创建多维数组

  • 利用diag((n,m))创建多维数组(方阵)

 基本数据类型

复数类型:
 d = np.array([1+2j, 3+4j, 5+6*1j])
 d.dtypedtype('complex128')
布尔数据类型:
e = np.array([True, False, False, True])
e.dtypedtype('bool')
字符串类型: 
f = np.array(['Bonjour', 'Hello', 'Hallo'])
f.dtype # <--- strings containing max. 7 letters dtype('S7')
更多:
  • int32
  • int64
  • uint32
  • uint64

数据可视化

  • 导入包

import matplotlib.pyplot as plt
  • 数据的输入

x = np.linspace(0,3,20)
y = np.linspace(0,8,20)
  • 绘制图形
plt.plot(x,y)

  •  一个有趣的实验
image = np.random.rand(30,30)
plt.imshow(image,plt.cm.hot)

 索引和切片

创建一个数组之后,因为numpy几乎继承了python中的list容器中所有特性,其切片和list容器的切片操作类似,这里就不展开了,直接用图来展示。

 副本和视图

我们创建一个切片之后,得到的numpy数组和原来的数组是共享同一块内存空间,所以修改任意一个numpy数组中的数据,另外的一个numpy数组也会被修改。

  • 调用np.map_share_memory(a,b),可以查看两个数组是否共用一个内存空间
a = np.arange(10)
>>> aarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> b = a[::2]

>>> b

array([0, 2, 4, 6, 8])

>>> np.may_share_memory(a, b)

True
  • 如果不想共享同一块内存空间
a = np.arange(10)
>>> c = a[::2].copy()  
c[0] = 0
>>> np.may_share_memory(a, c)
False

    

 

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Li&&Tao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值