优势:
1.数组越大Numpy数组优势更明显,计算高效,代码简洁
NumPy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器
import numpy as np
array1 = [1,2,3,4,5]#Python列表的定义
array2 = np.array([1,2,3,4,5])#Numpy数组的定义
array1 + 1
output:#此运行会报错,提示不支持该运算
array3 = array2 + 1#Numpy数组可以直接相加
array3
output:
array([2, 3, 4, 5, 6])
array.shape#求数组大小
output:
(5,)
np.array([[1,2,3],[4,5,6]])#多维数组定义
output:
array([[1, 2, 3],
[4, 5, 6]])
Meng_array = np.array([1,10,3.5,'str'],dtype = np.object)#定义数据类型为object,可以接受任意数据类型
Meng_array
output:
array([1, 10, 3.5, 'str'], dtype=object)
Meng_array = np.array([1,2,3,4,5])
np.asarray(Meng_array,dtype = np.float32)#重新指定数据类型
output:
array([ 1., 2., 3., 4., 5.], dtype=float32)
常用ndarray属性:
dtype 描述数组元素的类型
shape 以tuple表示的数组形状
ndim 数组的维度
size 数组中元素的个数
itemsize 数组中的元素在内存所占字节数
T 数组的转置
flat 返回一个数组的迭代器,对flat赋值将导致整个数组的元素被覆盖
real/imag 给出复数数组的实部/虚部
nbytes 数组占用的存储空间
常用ndarray方法:
reshape(…) 返回一个给定shape的数组的副本
resize(…) 返回给定shape的数组,原数组shape发生改变
flatten()/ravel() 返回展平数组,原数组不改变
astype(dtype) 返回指定元素类型的数组副本
fill() 将数组元素全部设定为一个标量值
sum/Prod() 计算所有数组元素的和/积
mean()/var()/std() 返回数组元素的均值/方差/标准差
max()/min()/ptp()/median() 返回数组元素的最大值/最小值/取值范围/中位数
argmax()/argmin() 返回最大值/最小值的索引
sort() 对数组进行排序,axis指定排序的轴;kind指定排序算法,默认是快速排序
view()/copy() view创造一个新的数组对象指向同一数据;copy是深复制
tolist() 将数组完全转为列表,注意与直接使用list(array)的区别
compress() 返回满足条件的元素构成的数组