Numpy基础2(基本变换)

ndarray数组创建方法:

1:从列表,元组类型,或混合列表元组创建:

x=np.array(list/tuple,dtype=)
x=np.array( [ [1,2],[2,3],(4,5) ] )列表中包含元组
即x=[ [1 2],[2 3],[4 5] ]

2用函数创建:

np.arange(n):返回一维array类型,元素从0到n-1
np.ones(shape):返回全1的array,shape为元组类型
np.zeros(shape):全零array
np.full(shape,val):用val填充整个shape的array
np.eye(n):生成n*n的单位矩阵(array)

举例:np.eye(5)
array(
[
[1. 0. 0. 0. 0.],
[0. 1. 0. 0. 0.],
[0. 0. 1. 0. 0.],
[0. 0. 0. 1. 0.],
[0. 0. 0. 0. 1.]
]这里可以注意到,Numpy数组中几乎都有一个点,因为numpy默认为浮点类型。
)

**np.ones_like(a)**全1
**np.zeros_like(a)**全0
**np.full_like(a,val)**全val
按照a的形状进行填充

ndarray数组变化:

x.reshape(shape):改变数组的形状,但是原数组不变
x.resize(shape):原数组形状改变
x.swapaxes(ax1,ax2):n个维度中两个维度进行调换
x.flatten():返回一个将原来的array改为一维的array,不改变原array
np.linspace(start,end,num,endpoint=bool):生成等间距分出的一维array
np.concatenate((a,b)):参数为元组,可以将两个array连接
np.astype(new_type):将原数组拷贝,改变其数据类型,不改变原数组

这里给出一个三维数组:

 a=np.ones((2,3,4),dtype=np.int32)
a
array(
[ [[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]],
[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]] ]
)
好了,然后我们将它reshape
a.reshape((3,8))
array([
[1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1]]
)

将array转化为list:

例如:

b=np.full((2,3,4),25,np.int32)
b=
array(
[
[[25, 25, 25, 25],[25, 25, 25, 25],[25, 25, 25, 25]],
[[25, 25, 25, 25],[25, 25, 25, 25],[25, 25, 25, 25]]
]
)
c=b.tolist()
[
[[25, 25, 25, 25], [25, 25, 25, 25], [25, 25, 25, 25]], 
[[25, 25, 25, 25], [25, 25, 25, 25], [25, 25, 25, 25]]
]
len(c)
2

这里的转换中可以看出,c是由(2,3,4)的b转化为的list,c中包含2个list,每个list中包含3个list。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值