NUMPY的学习
numpy:N维数组对象(即ndarray)。ndarray是⼀个通⽤的同构数据多维容器,等同于所有元素必须是相同类型的。
np.shape
np.dtype
np.ndim
创建ndarry
- 使⽤array函数。它接受⼀切序列型的对象(包括其他数组)然后产⽣⼀个新的含有传⼊数据的NumPy数组。
data1 = [6,6.5,8,1]
arr1 = np.array(data)
arr1
array([6,6.5,8,1])
2. np.array(), np.zeros(), np.ones(),np.empty()
3. arange
ndarray的数据类型(dtype)
利用astype转换dtype
arr =np.array([1,2,3,4,5])#int64
float_arr=arr.astype(np.float64)#float64
NumPy数组的运算
- ⼤⼩相等的数组之间的任何算术运算都会将运算应⽤到元素级.
- 数组与标量的算术运算会将标量值传播到各个元素.
- ⼤⼩相同的数组之间的⽐较会⽣成布尔值数组.
- 不同⼤⼩的数组之间的运算叫做⼴播(broadcasting).
基本的索引和切⽚
- ⼀维数组从表⾯上看,它跟Python列表的功能差不多.
- 跟列表最重要的区别在于,数组切⽚是原始数组的视图。这意味着数据不会被复制,视图上的任何修改都会直接反映到源数组上。当你将⼀个标量值赋值给⼀个切⽚,该值会⾃动传播到整个选区.
- 高维度数组。
在⼀个⼆维数组中,各索引位置上的元素不再是标量⽽是⼀维数组.
在多维数组中,如果省略了后⾯的索引,则返回对象会是⼀个维度低⼀点的ndarray(它含有⾼⼀级维度上的所有数据)。
obj.copy() - 对于⼆维数组arr2d
它是沿着第0轴(即第⼀个轴)切⽚的。也就是说,切⽚是沿着⼀个轴向选取元素的。 - 布尔型索引
布尔型数组的⻓度必须跟被索引的轴⻓度⼀致.
~操作符用来反转条件