NumPy的数组类称为ndarray,也被称为别名 array。请注意,numpy.array这与标准Python库类不同array.array,后者仅处理⼀维数组且功能较少。
一. ndarray对象的属性
属性 | 说明 |
---|---|
.ndim | 轴的数量或维度的数量(通俗理解就是二维的行数) |
.shape | ndarray对象的尺度,对于矩阵,n行m列 |
.size | ndarray对象元素的个数,相当于.shape中n*m的值(通俗理解就是长方体 长x宽x高) |
.dtype | ndarray对象的元素类型 |
.itemsize | ndarray对象中每个元素的大小,以字节为单位 |
import numpy as np
arr = np.random.randint(0,100,size = (2,3,2))
print(arr.ndim)
print(arr.shape)
print(arr.size)
print(arr.dtype)
print(arr.itemsize)
二. ndarray的数据类型
2.1、常用数据类型
数据类型 | 说明 |
---|---|
bool | 布尔类型,True或False |
intc | 与c语言中的int类型一致,一般是int32或int64 |
intp | 用于索引的整数,与c语言中ssize_t一致,int32或int64 |
int8 | 字节长度的整数,取值:[−128,127] |
int16 | 16位长度的整数,取值 : [−32768,32767] |
int32 | 32位长度的整数,取值 : [−231,231−1] |
int64 | 64位长度的整数,取值 : [ − 2 ^63 , 2 ^63 − 1 ] |
uint8 | 8位无符号整数,取值 : [0,255] |
uint16 | 16位无符号整数,取值 : [0,65535] |
uint32 | 32位无符号整数,取值:[0, 232‐1] |
uint64 | 32位无符号整数,取值:[0, 264‐1] |
float16 | 16位半精度浮点数:1位符号位,5位指数,10位尾数 |
float32 | 32位半精度浮点数:1位符号位,8位指数,23位尾数 |
float64 | 64位半精度浮点数:1位符号位,11位指数,52位尾数 |
complex64 | 复数类型,实部和虚部都是32位浮点数 |
complex128 | 复数类型,实部和虚部都是64位浮点数 |
str | 字符串类型 |
2.2、数据类型转换
1)、asarray转换是指定类型
import numpy as py
arr = [1,2,3,4,5,6]
np.asarray(arr,dtype='float') #将列表进⾏变换
2)、astype 直接类型转换
import numpy as py
arr = np.random.randint(0,10,size=5,dtype='int16')
arr.astype('float') # 将列表类型进⾏变换
三. ndarray的数组运算
3.1、加减乘除幂运算
import numpy as np
arr1 = np.array([1,2,3,4,5])
arr2 = np.array([2,3,1,5,9])
arr1 - arr2 # 减法
arr1 * arr2 # 乘法
arr1 / arr2 # 除法
arr1**arr2 # 两个星号表示幂运算
3.2、逻辑运算
import numpy as np
arr1 = np.array([1,2,3,4,5])