python之numpy学习
来源:互联网 发布:绿色建筑设计软件 编辑:程序博客网 时间:2024/05/22 18:22
今天花了一天的时间学习了python的numpy模块,顺便记录一下学习过程,如有不当的地方,还望读者留言,共同学习。
一:导入numpy模块
import numpy as np
二:通过array()创建numpy数组
# 使用array()创建一维数组 arr = np.array([1,3,5,7]) print(arr) # [1 3 5 7] # 这里和其他参考资料有所出入 # 这是源码的注释 If not given, then the type will be determined as the minimum type required print(arr.dtype) # int32
三:通过arange()创建数组
# 此写法需要指定步长 arr = np.arange(2,10,2,np.float32) print(arr) # [ 2. 4. 6. 8.] print(arr.dtype) # float32 arr2 = np.arange(2,3,0.1) print(arr2) # [ 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9] print(arr2.dtype) # float64
四:矩阵的计算
# 随机生成0到1的2行3列的矩阵 # a = np.random.random((2,3)) a = np.arange(9).reshape((3,3)) print(a) print("矩阵的最小值", a.min()) # np.sum(a,axis=0) print("矩阵的最大值", a.max()) print("矩阵的和", a.sum()) print("矩阵的每一行最小值", a.min(axis=1)) # axis=1 表示求每一行的最小值,返回<class 'numpy.ndarray'> # print(type(a.min(axis=1))) print("矩阵的每一列最大值", a.max(axis=0)) # axis=0 表示每一列的最大值 print("矩阵的每一行和", a.sum(axis=1)) # 求每一行的和 print("矩阵的每一列和", a.sum(axis=0)) # 求每一列的和 print("矩阵最小值的索引", np.argmin(a)) print("矩阵最大值的索引", np.argmax(a)) print("矩阵的平均值", np.mean(a)) # np.average(a) print("矩阵的中位数", np.median(a)) print("矩阵的数逐个相加", np.cumsum(a)) print("矩阵的数逐个相减", np.diff(a)) # (array([0, 0, 1, 1, 1, 2, 2, 2], dtype=int64), array([1, 2, 0, 1, 2, 0, 1, 2], dtype=int64)) # 第一个array表示行, 第二个array表示列 print("矩阵中非0的数",np.nonzero(a)) print("矩阵排序",np.sort(a)) # 表示把 矩阵a中小于2的值全部赋值为2,大于4的全部赋值为4 print("矩阵截取",np.clip(a,2,4))
五:矩阵合并
a = np.array([1,2,3,4]) b = np.array([5,6,7,8]) # 矩阵上下合并 c = np.vstack((a,b)) """ [[1 2 3 4] [5 6 7 8]] <class 'numpy.ndarray'> (2, 4) """ # print(c) # print(type(c)) # print(c.shape) # 矩阵横向合并 d = np.hstack((a,b)) """ [1 2 3 4 5 6 7 8] <class 'numpy.ndarray'> (8,) """ # print(d) # print(type(d)) # print(d.shape) print(a.shape) # 在行上加一个维度 e = a[np.newaxis,:] print(e) print(e.shape) # (1, 4) # 在列上加一个维度 f = a[:,np.newaxis] print(f) print(f.shape) # (4, 1)
六:矩阵切分
a = np.arange(12).reshape((3,4)) print(a) # 默认 axis=0 按行分, # 注意只能平均切分 """ [array([[0, 1], [4, 5], [8, 9]]), array([[ 2, 3], [ 6, 7], [10, 11]])] """ print(np.split(a,2,axis=1)) #np.vsplit(a,2) # 不平均切分 """ [array([[0, 1], [4, 5], [8, 9]]), array([[ 2], [ 6], [10]]), array([[ 3], [ 7], [11]])] """ print(np.array_split(a,3,axis=1)) #np.hsplit(a,2)
七:由于初次接触numpy学习比较浅显,小编会在今后的深入学习中再进行补充,不喜勿喷
阅读全文
0 0
- Python之numpy学习
- python之numpy学习
- python之numpy学习
- Python学习之Numpy
- Python学习之NumPy
- Python学习之NumPy篇
- python学习之NumPy基础
- Python学习之numpy札记
- python之numpy学习02
- python学习之 numPy包
- python学习笔记之numpy入门
- python系列之numpy模块学习
- 机器学习笔记--Python之Numpy
- python 学习之 用python做科学计算Numpy
- 【python】numpy学习笔记
- Python学习-Numpy数据处理
- python 模块学习--Numpy
- python numpy 模块学习
- CentOs 7 相关命令
- studio2.3app签名打包安装失败,找不到签名证书。
- HttpClient 实现文件的上传
- Android xmpp开发 asmack获取离线在线添加好友讯息 及 好友上线下线通知
- DELPHI窗体属性介绍
- python之numpy学习
- Retrofit的使用与基本的封装
- 使用 python 读取 json 文件
- 每天60s轻松搞定PHP之10个不可不知的小事项
- 83. Remove Duplicates from Sorted List
- offset分析
- 冒泡排序与选择排序区别
- daemon 需要fork两次原因
- Spark性能优化:开发调优篇