python 1 22 333_python 科学计算学习一:numpy快速处理数据(1)

以下是记录的numpy使用过程中比较重要的,建议亲自敲一下,比较有效果。

import  numpy as np

1,a=np.array([1,2,3,4]) 由 a.shape知道a是一个 列向量

,而a=([[1,2,3,4]])是一个 横向量

2,c=array([[1, 2, 3, 4],

[4, 5, 6, 7],

[7, 5, 6, 8]])  对c的shape属性赋值可以改变数组的形状。c.shape=4,3 就是将这个3*4的数组变为4*3的数组;结果是:

array([[1, 2, 3],   当你懒得算有计算每一排有几个的时候可以这样写:c.shape=4, -1

这样的想过也是一样的。但是不能均分的时候就会报错。

[4, 4, 5],

[6, 7, 7],

[5, 6, 8]])

3,d=c. reshape

是在不改变原来数据的情况下实现对数据的变形;

4,type(c)查看c的数据类型,c.dtype查看c里面的数据的类型;所以也可以在定义的时候就定下数据类型, b=np.array([1.2,2,2,3.1],dtype=np.int),结果是array([1, 2, 2, 3])

5,arange()相当于函数range(),指定开始值,终值,步长来创建一维数组。注意 不包括终值

,例如: b=np.arange(0,1,0.2) ,结果是:array([ 0. ,  0.2,  0.4,  0.6,  0.8]) 。但是linspace()却是要包括终值的。他是指定开始值,终值,数据个数来创建一维数组。例如: b=np.linspace(1,9,10) 就是要将1到9之间均分为9份,结果是:array([ 1.        ,  1.88888889,  2.77777778,  3.66666667,  4.55555556,

5.44444444,  6.33333333,  7.22222222,  8.11111111,  9.        ]) ;

6, zeros(),ones(),empty()都是按照指定的形状生成相应的数组。例如: np.ones((2,3))array([[ 1.,  1.,  1.],  [ 1.,  1.,  1.]])  np.zeros((3,4),dtype=np.float)array([[ 0.,  0.,  0.,  0.],  [ 0.,  0.,  0.,  0.],[ 0.,  0.,  0.,  0.]])  唯一不同的是

np.empty((5,2))array([[  2.43631958e-266,   0.00000000e+000], [  0.00000000e+000,   0.00000000e+000],

[  0.00000000e+000,   0.00000000e+000], [  0.00000000e+000,   0.00000000e+000], [  0.00000000e+000,   0.00000000e+000]]) 里面不是数据,而是给数据分配的空间地址

7,切片  a=np.arange(0,10,1)    用a[3:7] 表示 a[3] 到a[6]的所有元素组成的数组=array([3, 4, 5, 6]) ;还可以在其中加上步长,但都 不包括最后一个元素。

而a[:-1],其中 含有负数

就表示从后面开始;若是步长为负数,表示 倒序排列

,如:a[7:1:-1]   结果是array([7, 6, 5, 4, 3, 2])。

8,通过整数列表获得元素组成新的数组:a[[1,2,2,3,5]]  取出a中的元素构成新的数组,结果是array([1, 2, 2, 3, 5]);下标也可是负数;

9,np.random.rand(10) 产生数值为0~1的随机数组;

10, 记住一个特别的例子:

a=np.arange(0,60,10).reshape(-1,1)+np.arange(0,6)

>>> a

array([[ 0,  1,  2,  3,  4,  5],

[10, 11, 12, 13, 14, 15],

[20, 21, 22, 23, 24, 25],

[30, 31, 32, 33, 34, 35],

[40, 41, 42, 43, 44, 45],

[50, 51, 52, 53, 54, 55]])        其中 a[3,3:6]表示第4行的第4到6列,结果是array([33, 34, 35]); a[:2] 表示前两列:

array([[ 0,  1,  2,  3,  4,  5],[10, 11, 12, 13, 14, 15]]) 而

a[:,2] 表示第3列,array([ 2, 12, 22, 32, 42, 52])

a[1::,::2]表示的是

array([[10, 12, 14],

[20, 22, 24],

[30, 32, 34],

[40, 42, 44],

[50, 52, 54]])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值