qpython numpy_python之numpy操作1

一,多维数组

1.numpy中的多维数组是numpy.ndarray类类型的对象,可用于表示数据结构中任意维度的数组

2.创建多维数组的对象

方法一:numpy.arange(起始值,终止值,步长),默认起始值是0,步长是1,终止值不可缺省,这个返回的是数组

方法二:numpy.array(任何可被解释成数组的容器)这是一个函数,这个数组内部储存是连续的,要求数据是同一类型。

3.dnarray.dtype属性表示元素的数据类型

importnumpy as np

a= np.arange(10) #[0 1 2 3 4 5 6 7 8 9]

b = np.arange(1,10) #[1 2 3 4 5 6 7 8 9]

c = np.arange(1,10,2) #[1 3 5 7 9]

print(a)print(b)print(c)

d= np.array([]) #空数组

e = np.array([1,2,3,4]) #一位数组

f = np.array([[1,2,3],[4,5,6]]) #二维数组

print(d)print(e)print(f)#查看这些数据类型

print(type(a)) #

print(type(e)) #

print(type(e[0])) #

print(a.dtype) #int32

print(e.dtype) #int32

print(f.dtype) #int32

这里边有一个astype()函数

a = np.array(['1','2','3','4'],dtype=np.int32)print(a.dtype) #int32

b = a.astype(np.str) #这个函数是用来修改为指定的数据类型

print(type(b[0])) #

#在同一个数组里边我们可以强制去放一些不同的数据类型

a = np.array([('ABCD',[1,2,3])],dtype='U4,3i4') #U是字符串的简称,3i4的i4表示的是int32其中3表示3个int32的数据

print(a) #[('ABCD', [1, 2, 3])]

print(a[0]['f0']) #ABCD

print(a[0]['f0'][0]) #A

print(a[0]['f0'][1]) #B

print(a[0]['f0'][2]) #C#我们还可以指定名称来代替上边的f0

b = np.array([('ABCD',[1,2,3])],dtype=[

('name',np.str_,4),

('scores',np.int32,3)

])print(b[0]['name']) #ABCD

print(b[0]['name'][0])#A

print(b[0]['name'][1])#B

print(b[0]['name'][2])#C

#其中'names''formats'不能变

c = np.array([('ABCD',[1,2,3])],dtype={

'names':['name','scores'],

'formats':['U4','3i4']

})

print(c)

print(c[0]['name'])#ABCD

print(c[0]['name'][0])#A

print(c[0]['name'][1])#B

print(c[0]['name'][2])#C

改变数组的维度:

1.视图变维:针对同一数组获取不同维度的数组视图

数组.reshape(新维度)获得一个数组的新维度视图

数组.ravel()获取数组的一维视图

2.复制变维

针对同一数组获取不同维度的数组副本

数组.flatten()返回一个数组的一维副本

3.就地变维

直接使用数组.shape = ()就会把源数组的维度改变

还可以使用数组.resize()可以改变这个数组的维度

arr1 = np.arange(1,9)print(arr1)#[1 2 3 4 5 6 7 8]

arr1.shape = (2,2,2)print(arr1)#[[[1 2]#[3 4]]#

#[[5 6]#[7 8]]]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值