numpy数组计算基础(2)

本文深入探讨NumPy中数组的形态改变、拼接及拆分等关键操作,包括使用shape和reshape调整数组形状,利用ravel和flatten展开高维度数组,以及通过hstack和vstack实现数组的横向和纵向拼接,最后介绍了如何使用hsplit和vsplit进行数组的拆分。

1 数组形态改变

创建一个数组:

arr = np.arange(16)  生成一个一维数组
print('arr:',arr)
print('类型:',type(arr))
print('形状:',arr.shape)

可以通过shape和reshape求更改他的形状,不同的是reshape生成一个新的数组,二shape是在原来数组的基础上进行更改。
举例说明:
直接更改 通过shape直接指定形状。—元组

arr.shape = (4,4)
print(arr

)
reshape更改,返回新的数组

arr_new = arr.reshape(4,4)
print(arr_new)
print('类型:',type(arr_new))
print('形状:',arr_new.shape)

展开一个高纬度的数组,利用的方式有:reval或者flatten
举例:
#创建一个高纬度数组

arr = np.arange(16).reshape(4 ,4)
print(arr)
print("arr shape" ,arr.shape)#打印出形状。
ravel展平数组
# arr_new = np.ravel(arr)
# arr_new = arr.ravel()
# print(arr_new)

通过flatten展开数组
参数:默认参数是c 是按行展开。f参数是按列展开

arr_new1 = arr.flatten('c')
print(arr_new1)
arr_new = arr.flatten('f')
print(arr_new)

2 拼接数组

import numpy as np
# 创建数组
arr1 = np.arange(6).reshape(2,3)
arr2 = np.array([[1,2,3],[2,3,4]])
print(arr1)
print(arr2)

横向拼接数组:
可以通过hstack直接横向凭借,也可以利用concatenate将参数设为1拼接

# arr_new = np.hstack((arr1,arr2))
# arr_new = np.concatenate((arr1,arr2),axis=1)
# print(arr_new)
# print(arr_new)

# 纵向拼接

可以通过vstack直接纵向向凭借,也可以利用concatenate将参数设0为拼接

# arr_new = np.vstack((arr1,arr2))
# arr_new = np.concatenate((arr1,arr2),axis=0)
# print(arr_new)
# print(arr_new)

concatenate 参数axis为1,代表列,横轴方向
concatenate 参数axis为0 代表行,纵轴方向。
拼接的过程中,维度需一致 # 如果是横向拼接,必须保持行一致,
如果是纵向拼接,必须保持列数一致

3拆分数组

import numpy as np
arr = np.arange(16).reshape(4,4)
print('arr:' ,arr)
# 横向拆分 平分
# arr1,arr2 = np.hsplit(arr,2)
# arr_new = np.split(arr,4,axis=1)
# print(arr_new)
# print('arr1',arr1)
# print('arr2'arr2)
# 纵向拆分  平分
# arr1,arr2 = np.vsplit(arr,2)
# arr_new = np.split(arr,4,axis=0)
# print(arr_new)
# print('arr1',arr1)
# print('arr2',arr2)
NumPy是Python中用于科学计算的重要库之一,它提供了高效的多维数组对象ndarray,以及对数组进行快速操作的函数和方法。在NumPy中,数组计算是基于元素的,也就是说,对数组中的每个元素进行操作。 下面介绍一些NumPy数组计算基础知识: 1. 创建数组 使用numpy.array()函数可以创建一维或多维数组,例如: ``` python import numpy as np a = np.array([1, 2, 3]) # 创建一维数组 b = np.array([[1, 2], [3, 4]]) # 创建二维数组 ``` 2. 数组操作 数组的操作包括索引、切片、形状操作等。例如: ``` python c = b[1, :] # 取二维数组b的第二行 d = b[:, 1] # 取二维数组b的第二列 e = b.reshape(1, 4) # 将二维数组b转化为一维数组 ``` 3. 数组计算 NumPy支持数组与标量、数组之间的加减乘除等基本计算操作,并且进行这些操作时遵循广播规则,例如: ``` python f = a + 1 # 数组a中的每个元素都加1 g = a * b # 数组a与二维数组b的每个元素相乘 ``` 4. 数学函数 NumPy中还提供了许多数学函数,例如求和、平均值、标准差、方差等,这些函数都可以对数组进行操作,例如: ``` python h = np.sum(a) # 计算数组a的和 i = np.mean(b) # 计算二维数组b的平均值 j = np.std(a) # 计算数组a的标准差 k = np.var(b) # 计算二维数组b的方差 ``` 这些都是NumPy数组计算基础知识,掌握了这些知识之后,可以更加高效地进行科学计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值