numpy-python实例

本文深入探讨了Python中的Numpy库,通过一系列实例展示了如何使用Numpy进行数组操作、数学计算以及数据处理,帮助读者更好地理解和应用Numpy库。

Numpy库各种实例

import numpy as np

#第一个
print('------------------------------')
arr0 = np.array([1, 2, 3, 4])  #通过列表创建一维数组
print(arr0)

#第二个
print('------------------------------')
arr1 = np.array([[1, 2], [3, 4]])  #通过列表穿件二维数组
print(arr1)

#第三个
print('------------------------------')
arr2 = np.array([(2, 4.5, 6.0), (3.7, 6, 9.9)]) #通过元组创建数组
print(arr2)

#第四个
print('------------------------------')
arr3 = np.zeros((2, 3))     #通过元组(2,3)生成全零矩阵
print(arr3)

#第五个
print('------------------------------')
arr4 = np.random.random(size=(2, 3))    #生成每个元素都在(0,1)之间的2x3随机矩阵
print(arr4)

#第六个
print('------------------------------')
arr5 = np.arange(6, 30, 5)          #生成等距序列,参数为起点、终点、步长值。序列含起点值,不含终点值
print(arr5)

print('------------------------------')
#第七个
arr6 = np.linspace(6, 30, 5)         #生成等距序列,参数为起点、终点、步长值。序列含起点值和终点值
print(arr6)

#第八个
print('------------------------------')
arr7 = np.array([(3.2, 4, 8.5), (2, 7, 1)]) #通过元组创建数组
print(arr7.shape)   #返回矩阵的规格
print(arr7.size)    #返回矩阵的总数
print(arr7.dtype.name)  #返回矩阵的数据类型
print(arr7.ndim)    #返回矩阵的秩
print("float64(21) = ", np.float64(21))
print("int8(34.0) = ", np.int8(34.0))
print("bool(2) = ", np.bool(2))
print("bool(0) = ", np.bool(0))
print("bool(34.0) = ", np.bool(34.0))
print("int8(True) = ", np.int8(True))
print("int8(False) = ", np.int8(False))
print("float(True) = ", np.float(True))
print("float(False) = ", np.float(False))
print("arrange(7, dtype = uint16) = ", np.arange(7, dtype= np.uint16))

#Numpy数组运算
print('------------------------------')
arr8 =np.array([[2, 1], [1, 2]])
arr9 =np.array([[1, 2], [3, 4]])
print(arr8 -arr9)   #矩阵的减法
print(arr8**2)  #对矩阵的每个元素进行平方
print(arr9*3)   #矩阵的数乘
print(arr8*arr9)    #矩阵对应位置的元素相乘
print(np.dot(arr8, arr9)) #矩阵与矩阵相乘
arr10 = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(arr10.T)  #矩阵转置
print(np.linalg.inv(arr9))  #计算逆矩阵
print(arr8.sum())   #数组元素求和
print(arr9.max())   #返回数组最大元素

#一维数组的切片和索引
print('------------------------------')
a = np.arange(15)
print(a)
print(a[3:11])
print(a[:7:2])
print(a[::-1])
s = slice(3, 7, 2)
print(a[s])
s = slice(None, None, -1)
print(a[s])

#多维数组的索引和切片
b = np.arange(24).reshape(2, 3, 4)
print(b)
print(b.shape)
print(b[0, 0, 0])
print(b[:, 0, 0])
print(b[0])
print(b[0, :, :])
print(b[0, ...])
print(b[0, 1])
print(b[0, 1, ::2])
print(b[..., 1])
print(b[0, :, 1])
print(b[0, :,-1])
print(b[0, ::-1, -1])
print(b[0, ::2, -1])
print(b[::-1])
s = slice(None, None, -1)
print(b[s, s, s])

#合并数组
print('------------------------------')
a = np.arange(9).reshape(3, 3)
print(a)
b = 2*a
print(b)
print(np.vstack((a, b))) #纵向合并数组,由于与堆栈类似,故命名为vstake
print('------------------------------')
print(np.concatenate((a, b), axis=0))
print(np.hstack((a, b)))    #横向合并数组
print('------------------------------')
print(np.concatenate((a, b), axis=1))
print(np.hstack((a, b)))

#分割数组
print('------------------------------')
a = np.arange(9).reshape(3, 3)
print(a)
print('------------------------------')
print(np.hsplit(a, 3))  #将数组横向分为2部分
print('------------------------------')
print(np.vsplit(a, 3))  #将数组纵向分为3部分
print('------------------------------')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值