目录
1 ndarray创建方法
1.1 创建ndarray
1.2 ndarray常用属性:
1.3 代码测试如下:
1.4 其他函数创建ndarray
1.5 生成随机数的ndarray
1.6 代码演示如下:
2 ndarray的基础操作
2.1 变换ndarray的形态
2.2 展平ndarray
2.3 组合ndarray
2.4 分割ndarray
2.5 未完待续......
Numpy提供了两种基本对象,即ndarray对象和ufunc对象。
1 ndarray创建方法
1.1 创建ndarray
numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
参数名称 | 说明 |
object | 接收array,list,tuple等。表示用于创建ndarray的数据。无默认值 |
dtype | 接收data-type。表示创建的ndarray的数据类型。如果未给定,那么选择保存对象所需的最小字节数的数据类型。无默认值 |
ndmin | 接收int。指定生成ndarray应该具有的最小维数。默认为0 |
1.2 ndarray常用属性:
属性 | 说明 |
ndim | 返回int。表示ndarray的维数 |
shape | 返回tuple。表示ndarray的尺寸,对于n行m列的矩阵,形状将为(n,m) |
size | 返回int。表示ndarray的元素总数,这等于形状元素的乘积 |
dtype | 返回data-type。描述ndarray中元素类型的对象 |
itemsize | 返回int。表示ndarray的每个元素的大小(以字节为单位)。例如,数据类型float64具有itemsize 8(= 64/8),数据类型的一个complex32具有itemsize 4(= 32/8)。相当于ndarray.dtype.itemsize |
1.3 代码测试如下:
import numpy as np
arr1 = np.array([1,2,3,4])
print('创建一维ndarray:',arr1)
arr2 = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print('创建二维ndarray:\n',arr2)
print('arr2的维数:',arr2.ndim)
print('arr2的形状:',arr2.shape)
print('arr2的元素个数:',arr2.size)
print('arr2的数据类型:',arr2.dtype)
print('arr2的每个元素大小:',arr2.itemsize)
运行结果截图:
1.4 其他函数创建ndarray
函数 | 说明 |
arange | 创建等差数列(指定开始值,终值和步长) |
linspace | 创建等差数列(指定开始值,终值和元素个数) |
logspcae | 创建等比数列 |
zeros | 创建值全部为0的矩阵 |
eye | 创建单位矩阵(对角线元素为1,其余为0) |
diag | 创建对角矩阵(对角线元素为指定值,其余为0) |
ones | 创建值全部为1的矩阵 |
1.5 生成随机数的ndarray
1.6 代码演示如下:
import numpy as np
# 设置随机数种子 23无具体含义 仅代表seed分类
np.random.seed(23)
arr = np.random.randint(1,10,size= 12).reshape(3,4)
print('创建随机数ndarray arr为:\n',arr)
2 ndarray的基础操作
2.1 变换ndarray的形态
- reshape方法:原来ndarry不变。
import numpy as np
arr= np.arange(12)
print('创建的一维ndarray arr为:',arr)
arr1 = arr.reshape(3,4)
print('reshape方法执行完毕后 arr为:',arr)
print('reshape方法执行完毕后 arr1为:\n',arr1)
- resize方法:直接作用于所操作的ndarray。
import numpy as np
arr= np.arange(12)
print('创建的一维ndarray arr为:',arr)
arr.resize(3,4)
print('resize方法执行完毕后 arr为:\n',arr)
2.2 展平ndarray
展平是指将多维ndarray转换成一维ndarray的操作过程,似乎一种特殊的ndarray形状变换。
- ravel方法
- flatten方法 可以选择横向或者纵向展平。
2.3 组合ndarray
- hstack函数:横向组合
- vstack函数:纵向组合
- dstack函数:深度组合
2.4 分割ndarray
- hsplit函数:横向分割(按列分割,只适用于均等拆分)
- vsplit函数:纵向分割(按列分割,只适用于均等拆分)
- dsplit函数:深度分割(分割的ndarray必须是三维ndarry,且分割的数目必须为shape属性中下表为2的值得公约数)