首页 / PYTHON / python扩展库1—numpy
python扩展库1—numpy
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python扩展库1—numpy,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2407字,纯文字阅读大概需要4分钟。
内容图文
1 数组对象
创建数组
import numpy as np a = np.arange(10) b = np.arange(2,10,1) #[2,10)步长为1 c = np.linspace(0,10,20) #[0,10]共20个 d = np.array([range(5)]) #用list/tuple创建数组
快速生成x*y的全零数组
a = np.zeros((3,4))
a = np.random.rand(5)
一维数组转化为二维数组
a = np.arange(20)
a = a.reshape(4,5)
ps:使用reshape(-1,5)得到一样的结果,会根据列自动适应行
构造更高维的
a = a.reshape(2,2,5)
二维数组转化为一维数组
a = np.array([[1,2,3],[4,5,6]])
a = np.ravel(a)
查看数组属性
a.ndim查看维度,a.shape查看各维度大小,a.size查看元素个数,a.dtype查看元素类型
数组切割vsplit()和hsplit()
vsplit()来进行分行,而hsplit分列,np.vsplit(arr,indices)
a = np.arange(18).reshape(-1,3) print a print np.vsplit(a,3) print np.hsplit(a,3)
输出为
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11], [12, 13, 14], [15, 16, 17]]) [array([[0, 1, 2], [3, 4, 5]]), array([[ 6, 7, 8], [ 9, 10, 11]]), array([[12, 13, 14], [15, 16, 17]])] [array([[ 0], [ 3], [ 6], [ 9], [12], [15]]), array([[ 1], [ 4], [ 7], [10], [13], [16]]), array([[ 2], [ 5], [ 8], [11], [14], [17]])]
按指定位置切分
将第二个参数改为list,来指定切分的位置
print np.vsplit(1,4) #以第1和第4行进行切分
数组操作
1) ‘+’,’-’,’*’,’/’ 加减乘除
2)开根号、指数操作
a = np.array([1,2]) print np.array(a) print np.sqrt(a) print np.exp(a) print np.square(a) print np.power(a,5) print a**5 #和np.power(a,5)效果一样
3)最大最小值
a.min() a.max() a.sum() a.min(axis=0) #minimun element in each column a.min(axis=1) #minimun element in each row a.max(axis=0) a.max(axis=1)
4)数组均值、中位数
np.mean(a)
np.median(a)
数组取值
1)可以直接使用下标取值,直接赋值为浅拷贝(b=a,为b指向了a的内存地址),要真正拷贝,使用copy
a = np.array([[1,2],[3,4]]) b = a c = a.copy() print a[0][0], b[0][0], c[0][0] #1 1 1 b[0][0] = 5 print a[0][0], b[0][0], c[0][0] # 5 5 1
2)利用’:’可以访问某一维的全部数据
a = np.arange(20).reshape(4, 5) print a[:,[1,3]] #取出a的每一行的第2到4个元素
数组拼接
a = np.array([1,2,3]) b = np.array([4,5,6]) c = np.hstack([a,b]) #[1, 2, 3, 4, 5, 6] d = np.vstack([a,b]) #[[1, 2, 3],# [4, 5, 6]]
二 矩阵对象
创建矩阵
矩阵是二维的,而数组的可以是任意正整数维
a = np.arange(5) a = np.mat(a) #[[0, 1, 2, 3, 4]] b = np.mat(‘1 2;3 4‘) #[[1, 2],#[3, 4]]
矩阵乘法
矩阵的’*’操作符进行的是矩阵乘法,乘号左侧的矩阵列和乘号右侧的矩阵行要相等,而在数组中’*’操作符进行的是每一元素的对应相乘,乘号两侧的数组每一维大小需要一致
矩阵转置
a = np.array([[1, 2, 3], [4, 5, 6]]) print np.transpose(a) #数组用transposeprint np.matrix(a).T #矩阵用T
矩阵求逆
a = np.mat(‘1.0 2.0;3.0 4.0‘) b = nlg.inv(a) print a*b #[[1.0000000e+00 0.0000000e+00]#[8.8817842e-16 1.0000000e+00]]
特征值与特征向量
eig_value, eig_vector = nlg.eig(a)
3 其他
缺失值处理
用nan作为缺失值,用isnan判定
a = np.random.rand(2,2) a[0, 1] = np.nan print np.isnan(a) #[[False True]# [False False]]
原文:https://www.cnblogs.com/huangqiancun/p/8379241.html
内容总结
以上是互联网集市为您收集整理的python扩展库1—numpy全部内容,希望文章能够帮你解决python扩展库1—numpy所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。