什么是numpy?
numpy是python一个开源的计算库,用于对N 维数组与矩阵的计算操作
ndarray并非像字典与列表一样,ndarray中数据类型必须一致,所以在运算效率上numpy有很大的优势,数据分析中常用
对ndarray基本操作
import numpy as np
array = np.array([[1,2,3],[4,5,6]])
#array.ndim 数组的维数 2
#array.shape 数组的形状 2x3
#array.size 数组中元素的数量 6
#array.dtype 数组中数据的类型 int32
#type(array) 数组的类型 <class'numpy.ndarray>
数组的维数参考坐标轴形式理解
数组的形状:一维即数组长度、二维即数组长X宽、三维即长X宽X高、四维以上抽象理解即可
对ndarray形状和数据类型操作
改变ndarray形状
array = np.array([[1,2,3],[4,5,6]])
print(array, array.shape) #输出数组即书数组的形状
array1 = array.reshape((3,2)) #改变数组形状
print(array1, array1.shape) #输出改变后的数组
array2 = array.T #对数组进行转置
print(array2, array2.shape) #输出转置后的数组
运行结果为:
[[1 2 3]
[4 5 6]] (2,3)
[[1 2]
[3 4]
[5 6]] (3,2)
[[1 4]
[2 5]
[3 6]] (3,2)
注意:对于ndarray修改形状不能改变数组中数据的个数
改变ndarray数据类型
array = np.arrdy([[1,2,3],[4,5,6]])
print(array.dtype)
array1 = array.astype(np.int64)
print(array1.dtype)
运行结果:
int32
int64
ndarray的创建
#生成全为1的ndarray
array = np.ones((2,3)) #ones代表全1,(2,3)代表形状
#生成全为0的ndarray
array = no.zeros((2,3)) #与上同理
#生成全为指定值的ndarray
array = np.full((2,3), 5) #维数2,3 数据全为5
#生成随即值ndarray
array = no.random.randint(1,10,4) #1代表起始值,10代表结束值,4代表数据个数
ndarray的索引
#创建一个2X3X2的数组
array = no.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
print(array.shape)
print(array[1])
print(array[1][0])
print(array[1,0])
运行结果:
(2,2,3)
[[7 8 9]
[10 11 12]]
[7 8 9]
[7 8 9]
array[1][0]与array[1,0]代表的数据一致
ndarray去重
array = np.array([[1,2,3][2,3,4]])
array1 = np.unique(array1)
print(array1)
输出结果为: [1 2 3 4]
去重即去除重复数据,并返回一维数组