Numpy總結
一維數組
numpy.array(object) //object可以是列表,也可以是元組
numpy.arange(start,stop,step,dtype)
等差數組
numpy.linspace(start,stop,num,endpoint,retstep,dtype)
等比數組
numpy.logspace(start,stop,num,endpoint,base,dtype)
二維數組
numpy.array(object) //obejc必須是列表的列表,元組的元組
numpy.onses(shape,dtype) // 全是1的二維數組
numpy.zeros(shape,dtype) // 全是0的二維數組
numpy.full(shape,fill_value,dtype)
numpy.identity(n,dtype) //單位矩陣,對角線是1
數組的訪問
一維數組索引訪問
ndarray[index]
二維數組索引訪問
ndarray[所在0軸索引][所在1軸索引]
ndarray[所在0軸索引,所在1軸索引]
一維數組切片訪問
ndarray[start:end:step]
二維數組切片訪問
ndarray[所在0軸切片,所在1軸切片]
布爾索引
可以 傳遞布爾索引,從數組中過濾出我們需要的元素
深層複製
花式索引
當索引爲整數列表,一維整數數組或二維整數數組,就稱爲花式索引。
深層複製
數組的操作
連接數組
numpy.concatenate((a1,a2,...),axis)
numpy.vstack((a1,a2))//沿垂直方向
numpy.hstack((a1,a2))//沿水平方向
分割數組
numpy.split(ary,indices_or_sections,axis)
numpy.vsplict(ary,indices_or_sections)
numpy.hsplict(ary,indices_or_sections_
算術運算
±*/
數組廣播
數組與標量或者不同形狀的數組進行算術運算時候,就會發生數組廣播
數組常用函數
隨機數函數
numpy.random.rand(d0,d1,...dn)
numpy.random.randin(low,high,size,dtype)
numpy.random.normal(loc,scale,size)
numpy.random.randan(d0,d1,...)
排序函數
numpy.sort(a,axis=-1,kind=‘quicksort’,order=None)
numpy.argsort(a,axis=-1,kind=‘quicksort’,order=None)
聚合函數-求和
numpy.sum(a,axis=None)
numpy.nansum(a,axis=None)
numpy.ndarray.sum(axis=None)
聚合函數-求最大值
numpy.amax(a,axis=None)
numpy.nanmax(a,axis=None)
numpy.ndarray.max(axis=None)
聚合函數-求最小值
numpy.amin(a,axis=None)
numpy.nanmin(a,axis=None)
numpy.ndarray.min(axis=None)
聚合函數-求平均值
numpy.mean(a,axis=None)
numpy.nanmean(a,axis=None)
聚合函數-求加權平均值
numpy.amin(a,axis=None,weights=None)//weights表示權重
數據的保存和讀取
保存
numpy.save(file,arr,allow_pick,fix_imports)
numpy.savez(file)
numpy.savez_compressed(file)
讀取
numpy.load(file,mmap_mode,allow_pickle,fix_imports,encoding)