Python中numpy模块常见用法demo实例小结


Posted in Python onMarch 16, 2019

本文实例总结了Python中numpy模块常见用法。分享给大家供大家参考,具体如下:

import numpy as np
arr = np.array([[1,2,3], [2,3,4]])
print(arr)
print(type(arr))
print('number of dim:', arr.ndim)
print('shape:', arr.shape)
print('size:', arr.size)

[[1 2 3]
 [2 3 4]]
number of dim: 2
shape: (2, 3)
size: 6

a32 = np.array([1,23,456], dtype=np.int)
print(a32.dtype)
a64 = np.array([1,23,456], dtype=np.int64)
print(a64.dtype)
f64 = np.array([1,23,456], dtype=np.float)
print(f64.dtype)

int32
int64
float64

z = np.zeros((3, 4))
print(z)
print(z.dtype)
print()
one = np.ones((3, 4), dtype=int)
print(one)
print(one.dtype)
print()
emt = np.empty((3, 4), dtype=int)
print(emt)
print(emt.dtype)
print()
ran = np.arange(12).reshape((3,4))
print(ran)
print(ran.dtype)
print()
li = np.linspace(1, 10, 6).reshape(2, 3)
print(li)
print(li.dtype)

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]
float64
[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]
int32
[[          0  1072693248  1717986918  1074161254]
 [ 1717986918  1074947686 -1717986918  1075419545]
 [ 1717986918  1075865190           0  1076101120]]
int32
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
int32
[[ 1.   2.8  4.6]
 [ 6.4  8.2 10. ]]
float64

a = np.array([10,20,30,40])
b = np.arange(4)
print(a)
print(b)
print()
print(a+b)
print(a-b)
print(a*b)
print()
print(a**b)
print()
print(10*np.sin(a))
print()
print(b<3)
print()

[10 20 30 40]
[0 1 2 3]
[10 21 32 43]
[10 19 28 37]
[  0  20  60 120]
[    1    20   900 64000]
[-5.44021111  9.12945251 -9.88031624  7.4511316 ]
[ True  True  True False]

a = np.array([[1,2], [3,4]])
b = np.arange(4).reshape(2, 2)
print(a)
print(b)
print()
print(a * b)
print(np.dot(a, b)) #矩阵乘法,或下面:
print(a.dot(b))
print()

[[1 2]
 [3 4]]
[[0 1]
 [2 3]]
[[ 0  2]
 [ 6 12]]
[[ 4  7]
 [ 8 15]]
[[ 4  7]
 [ 8 15]]

a = np.random.random((2, 4))
print(a)
print(np.sum(a))
print(np.min(a))
print(np.max(a))
print()
print(np.sum(a, axis=1)) #返回每一行的和。 axis=1代表行
print(np.min(a, axis=0)) #返回每一列的最小值。 axis=0代表列
print(np.mean(a, axis=1)) #返回每一行的平均值

[[0.04456704 0.99481679 0.96599561 0.48590905]
 [0.56512852 0.62887714 0.78829115 0.32759434]]
4.8011796551183945
0.04456704487406293
0.9948167913629338
[2.4912885  2.30989116]
[0.04456704 0.62887714 0.78829115 0.32759434]
[0.62282212 0.57747279]

A = np.arange(2, 14).reshape(3, 4)
print(A)
print(np.argmin(A)) #最小索引
print(np.argmax(A)) #最大索引
print()
print(A.mean())
print(np.median(A)) #中位数
print(A.cumsum()) #累加值
print(np.diff(A)) #相邻差值
print()

[[ 2  3  4  5]
 [ 6  7  8  9]
 [10 11 12 13]]
0
11
7.5
7.5
[ 2  5  9 14 20 27 35 44 54 65 77 90]
[[1 1 1]
 [1 1 1]
 [1 1 1]]
(array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2], dtype=int32), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], dtype=int32))

A = np.array([[1,0], [0,3]])
print(A)
print(A.nonzero()) #分别输出非零元素的行和列值
print(np.sort(A)) #逐行排序后的矩阵
print(np.sort(A, axis=0)) #逐列排序的矩阵
print(np.sort(A).nonzero())
print()
B = np.arange(14, 2, -1).reshape(3, 4)
print(B)
print(B.transpose()) #转置
print((B.T).dot(B)) #转置
print()
print(np.clip(B, 5, 9)) #B中将范围限定,大于9的数都为9,小于5的都为5,之间的数不变
print()

[[1 0]
 [0 3]]
(array([0, 1], dtype=int32), array([0, 1], dtype=int32))
[[0 1]
 [0 3]]
[[0 0]
 [1 3]]
(array([0, 1], dtype=int32), array([1, 1], dtype=int32))
[[14 13 12 11]
 [10  9  8  7]
 [ 6  5  4  3]]
[[14 10  6]
 [13  9  5]
 [12  8  4]
 [11  7  3]]
[[332 302 272 242]
 [302 275 248 221]
 [272 248 224 200]
 [242 221 200 179]]
[[9 9 9 9]
 [9 9 8 7]
 [6 5 5 5]]

A = np.arange(3, 7)
print(A)
print(A[2])
print()
B = np.arange(3, 15).reshape(3, 4)
print(B)
print(B[2])
print(B[2][1])
print(B[2, 1])
print()
print(B[2, 2:])
print(B[1:, 2:])
print()
for row in B:
  print(row)
print()
for col in B.T:
  print(col)
print()
print(B.flatten())
for elm in B.flat:
  print(elm)

[3 4 5 6]
5
[[ 3  4  5  6]
 [ 7  8  9 10]
 [11 12 13 14]]
[11 12 13 14]
12
12
[13 14]
[[ 9 10]
 [13 14]]
[3 4 5 6]
[ 7  8  9 10]
[11 12 13 14]
[ 3  7 11]
[ 4  8 12]
[ 5  9 13]
[ 6 10 14]
[ 3  4  5  6  7  8  9 10 11 12 13 14]
3
4
5
6
7
8
9
10
11
12
13
14

#矩阵合并
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A, B, A, B))
print(C)
print(A.shape, (A.T).shape)
print(C.shape)
print()
D = np.hstack((A, B))
print(D)
print()
print(A[np.newaxis, :])
print(A[:, np.newaxis])
print(np.hstack((A[:, np.newaxis], B[:, np.newaxis])))
print()
print(np.stack((A,B), axis=0))
print(np.stack((A,B), axis=1))
#print(np.concatenate((A,B,B,A), axis=0))
#print(np.concatenate((A,B,B,A), axis=1))

[[1 1 1]
 [2 2 2]
 [1 1 1]
 [2 2 2]]
(3,) (3,)
(4, 3)
[1 1 1 2 2 2]
[[1 1 1]]
[[1]
 [1]
 [1]]
[[1 2]
 [1 2]
 [1 2]]
[[1 1 1]
 [2 2 2]]
[[1 2]
 [1 2]
 [1 2]]

A = np.arange(12).reshape(3, 4)
print(A)
print(np.split(A, 2, axis=1))
print(np.split(A, 3, axis=0))
print()
print(np.array_split(A, 3, axis=1)) #不等分割
print()
print(np.hsplit(A, 2))
print(np.vsplit(A, 1))

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
[array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])]

A = np.arange(4)
B = A
C = B
D = A.copy()
print(A, B, C, D)
A[0] = 5
print(A, B, C, D)
print(id(A), id(B), id(C), id(D)) #id返回指针的值(内存地址)
print()

[0 1 2 3] [0 1 2 3] [0 1 2 3] [0 1 2 3]
[5 1 2 3] [5 1 2 3] [5 1 2 3] [0 1 2 3]
172730832 172730832 172730832 172730792

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python脚本实现Web漏洞扫描工具
Oct 25 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
tensorflow获取变量维度信息
Mar 10 Python
Python自定义线程类简单示例
Mar 23 Python
基于pip install django失败时的解决方法
Jun 12 Python
PyCharm 创建指定版本的 Django(超详图解教程)
Jun 18 Python
Pandas 缺失数据处理的实现
Nov 04 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 Python
为什么说python适合写爬虫
Jun 11 Python
Django如何在不停机的情况下创建索引
Aug 02 Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 Python
Python常见的pandas用法demo示例
Mar 16 #Python
详解python中list的使用
Mar 15 #Python
详解Python_shutil模块
Mar 15 #Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 #Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 #Python
详解Django+uwsgi+Nginx上线最佳实战
Mar 14 #Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 #Python
You might like
php下使用无限生命期Session的方法
2007/03/16 PHP
mysql 字段类型说明
2007/04/27 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
微信小程序实现美团菜单
2018/06/06 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
让python 3支持mysqldb的解决方法
2017/02/14 Python
Python自定义线程类简单示例
2018/03/23 Python
Python工厂函数用法实例分析
2018/05/14 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
python中安装django模块的方法
2020/03/12 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
Keras实现DenseNet结构操作
2020/07/06 Python
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
快餐店的创业计划书范文
2014/01/29 职场文书
保密工作责任书
2014/04/16 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
教师个人培训总结
2015/02/11 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电
SQLServer常见数学函数梳理总结
2022/08/05 MySQL