1. 多维数组
数据类型:ndarray,通用的多维同类数据容器
属性:data.shape
data.dtype
1.1.1 array函数及其他方法
data1=[1,2.3,4,5]
arr1=np.array(data1)
data2=[[1,2,3],[3,4,5]]
arr2=np.array(data2)
arr2.ndim
arr2.shape
arr3=np.zeros(10)
arr4=np.ones((1,2,3)) #有些时候会返回未初始化的垃圾数值
np.empty((2,3))
np.arange(10)
1.1.2 数据类型
astype方法显式转换
x=np.array([1,2,3])
y=x.astype(np.float64)
1.1.3 数组算术
任何两个等尺寸的数组之间的算术操作都采用了逐元素的方式
带有标量的算术操作,会将计算参数传给每个元素
同尺寸数组比较,会产生一个布尔数组
arr1=np.array([1,2,3])
arr2=np.array([4,2,1])
arr1>arr2
# out: array([False, False, True])
1.1.4 基础索引与切片
传递的是引用,而不是复制。因此,如果对x进行修改,arr也会发生变化
复制,用.copy()
左闭右开区间
x=arr[5:8]
# 一维索引
arr[5]
# 二维索引
arr[5][2]
arr[5,2]
1.1.5 布尔索引
布尔值索引生成数据的拷贝
names=np.array(['a','b','c','d'])
data=np.random.randn(4,3)
data[names=='b']
1.1.6 数组转置和换轴
arr=np.arange(15).reshape((3,5))
arr.T
arr=np.arange(24).reshape((3,4,2))
arr.transpose((1,0,2))