Numpy

  • NumPy对象:数组
reshape
ndim"查看维度;
shape"查看各维度的大小;
size查看全部的元素个数,等于各维度大小的乘积;
dtype"可查看元素类型;"dsize"查看元素占位(bytes)大小```
- 创建数组

raw = [0,1,2,3,4]
a = np.array(raw)
np.zeros()
np.ones(d, dtype=int)
np.random.rand(5)```

  • 数组操作
    '+','-','','/'运算都是基于全部的数组元素的
    类似C++,'+='、'-='、'
    ='、'/='操作符在NumPy中同样支持
    开根号求指数
'''a.sum()
a.max()
a.min()
a.max(axis=1)   行最大值
a.min(axis=0)   列最小值'''
数组可以通过asmatrix或者mat转换为矩阵,或者直接生成也可以:
a = np.arange(20).reshape(4, 5)
a = np.asmatrix(a)
print type(a)
b = np.matrix('1.0 2.0; 3.0 4.0')
print type(b)
arange(起始,终止,步长)
linspace(起始,终止,长度)
  • 数组元素访问
a = np.array([[3.2, 1.5], [2.5, 4]])
print a[0][1]
print a[0, 1]
下标访问来修改数组元素的值
b = a
a[0][1] = 2.0   b和a一起变  浅复制
a = np.array([[3.2, 1.5], [2.5, 4]])
b = a.copy()
a[0][1] = 2.0   a变b不变
':'可以访问到某一维的全部数据
a[:,[1,3]]
。下面这个例子是将第一列大于5的元素(10和15)对应的第三列元素(12和17)取出来
a[:, 2][a[:, 0] > 5]
where函数查找特定值在数组中的位置
loc = numpy.where(a==11)
print loc
print a[loc[0][0], loc[1][0]]
a[a>4] 访问大于4的数据
  • 数组操作
np.transpose()
mat.T
求逆
import numpy.linalg as nlg
a = np.random.rand(2,2)
a = np.mat(a)
ia = nlg.inv(a)
修剪异常值:
a.clip(0,4) 将大于4的数据变为4 小于0的数据变为0
求特征值和特征向量
eig_value, eig_vector = nlg.eig(a)
按列拼接两个向量成一个矩阵:
a = np.array((1,2,3))
b = np.array((2,3,4))
print np.column_stack((a,b))
c = np.hstack([a,b])水平连接
d = np.vstack([a,b])竖直连接```
- 缺失值

a = np.random.rand(2,2)
a[0, 1] = np.nan
print np.isnan(a)
a = np.random.rand(2,2)
a[0, 1] = np.nan
print np.isnan(a) nan替换成0
a[~np.isnan(a)] 取出a中非异常值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,288评论 6 98
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 7,410评论 1 13
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 4,983评论 0 5
  • 一.NumPy的引入 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列...
    wlj1107阅读 4,675评论 0 2
  • 原来,姹紫嫣红开遍,都似这般顺水推船。 良辰美景仍在,波心荡,冷月无双! 你在那湖畔旁,而我在你的心波中荡漾。 三...
    简悦自己阅读 1,131评论 0 0