Numpy简单使用

Numpy简单使用

Numpy 属性

array = np.array([[1,2,3],[4,5,6]])   #列表转化为矩阵
print(array)
print("number of dim:", array.ndim)   #维度
print("shape"+str(array.shape))       #行数和列数
print("size:", array.size)            #总的数目

array : 创建数组
dtype : 指定数据类型
zeros : 创建数据全为0
ones : 创建数组全为1
empty : 创建数据接近0
arange : 按指定范围创建数据
linspace: 创建线段

创建array

#创建数组
a = np.array([2,23,4])
print(a)
print("shape:", a.shape)


#指定数据类型
a = np.array([2,23,4],dtype=np.int)
print(a)
print(a.dtype)
a = np.array([1,2,3],dtype=np.int32)
print(a)
print(a.dtype)
a = np.array([1,2,4],dtype=np.float64)
print(a)
print(a.dtype)

#指定特定数据
a = np.array([[1,2,3],[4,5,6]])
print(a)
a = np.zeros([2,3],dtype=np.int32)
b = np.ones([2,3])
c = np.ones(3,dtype=np.int32)
d = np.empty((3,4))   #创建全空数组
e = np.arange(1,20,2,dtype=np.float)
f = np.linspace(1,20,5,True,False,dtype=np.int)
g = np.zeros([2,3]).reshape([3,2])
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)

numpy的基础运算1

a = np.array([10,20,30,40])
b = np.arange(4)
print("a:",a)
print("b:",b)
c = a + b
print("c:",c)
c = a*b
print("c:",c)
c = a**2
print("c:",c)
c = 10*np.sin(a)
print("c:",c)
print("b<3",b<3)
print("a*b",np.dot(a,b.transpose()))

a = np.random.random([2,4])
print("a",a)
print("a",a.sum())
print("sum_0:",np.sum(a,0))
print("sum_1:",np.sum(a,1))
print("a_min",a.min())
print("a_min_0",np.min(a,0))
print("a_min_1",np.min(a,1))

numpy基础运算2

A = np.arange(2,14).reshape((3,4))
print("A:",A)
print("A.argmin:",np.argmin(A))
print("A.argmax:",np.argmax(A))
print("A.mean(A):",np.mean(A))
print("A.median:",np.median(A))
print("A.cumsum:",np.cumsum(A))  #累加函数
print("A.diff:",np.diff(A))   #后一项与前一项差
print("A.nonzero:",np.nonzero(A))   #不为0的元素的索引
A = np.arange(14,2,-1).reshape((3,4))
print("A:",A)
print("A.sort:",np.sort(A))   #从小到大排序
print("A.transpose:",np.transpose(A))    #求矩阵的转置
print("A.T:",A.T)   #求矩阵的转置
print("A.clip(5,9):",np.clip(A,5,9))  #限幅度,大于9的等于9,小于5的等于5

numpy索引

一维索引

A = np.arange(3,15)
print("A:",A)
print("A[3]:",A[3])

二维索引

A = A.reshape((3,4))
print("A:",A)
print("A[1][1]:",A[1][1])
print("A:",A[1,1])
print("A[1,:]",A[1,:])

for row in A:
    print(row)

for column in A.T:
    print(column)

print("A.flatten:",A.flatten())   #将矩阵平铺,转化成一维数组
for item in A.flat:    #依次访问元素
    print(item)

Numpy array合并

A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.stack((A,B))     #上下合并
print("C:",C)

C = np.hstack((A,B))    #左右合并
print("C:",C)

print(A.shape)
print(A[np.newaxis,:].shape)   #新建新的维度

C = np.concatenate((A,B,B,A),axis = 0)   #多个array合并,横向和纵向都可以
print("C:",C)

Numpy array分割

A = np.arange(0,12).reshape((3,4))
print(np.split(A,2,axis=1))  #纵向分割, 2为分成2份,等量分割
print(np.split(A,3,0))   #横向分割,3为分成3份,等量分割
print(np.array_split(A,3,1))   #不等量分割
print(np.vsplit(A,3))   #纵向分割,等量3份
print(np.hsplit(A,2))   #横向分割,等量2份

= 的赋值方式带有关联性,相当于浅赋值,copy()的赋值方式没有关联性

a = np.arange(4)
#a = [0,1,2,3]

b = a
c = a
d = a
e = a.copy()
#改变a的值,b、c、d的值也会改变
a[0] = 11
print("d:",d)
print("e:",e)

文章转载于莫烦Python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值