數組運算
數組與標量運算:作用于數組的每一個元素a = a / a.mean()
python數據分析庫?一元函數:np.abs(x)、np.fabs(x)、np.sqrt(x)、np.square(x)、np.log(x)、np.log10(x)、np.log2(x)、np.ceil(x)(不超過元素的整數值)、np.floor(x)(小于這個元素的最大整數值)、np.rint(x)(四舍五入)、np.modf(x)(小數部分和整數部分)、np.cos(x)、np.cosh(x)、np.exp(x)、np.sign(x)
二元函數:加減乘除乘方、np.maximum(x,y) np.fmax()
np.mod(x,y) np.copysign(x,y)(將數組y各元素的符號復制給數組x對應元素) 布爾型運算
python求和、adarray數組與csv文件寫入與讀出:
注意:csv文件只能有效存取一維數組和二維數組
寫入到csv文件中
python map函數?np.savetxt(frame,array,fmt='%.18e',delimiter=None)
frame:文件、字符串或產生器,可以是.gz或者.bz2的壓縮文件,文件名
array:存入文件的數組
隨機矩陣、fmt:寫入文件的格式:例如:%d %.2f %.18e
delimiter:分割字符串
例如:
python循環,a = np.arange(100).reshape(5,20)
np.savetxt('a.csv',a,fmt='%d',delimiter=',')
文件保存在當前文件目錄下,我的是在C盤的用戶目錄下,可以更改
python數據分析入門,從csv文件中讀出
np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)
frame:文件名,可以是壓縮文件.gz或者.bz2
qpython,dtype:數據類型
delimiter:分割字符串,默認位任何空格
unpack:true,讀入屬性將分別寫入不同變量
多維數組的存取
注意:使用的時候要知道存入文件時數組的維度和元素類型
寫到文件中:
a.tofile(frame,sep='',format='%s')
frame:文件、字符串
sep:數據分割字符串、如果為空串,寫入文件為二進制。
format:寫入數據的格式
例如:
a.tofile('b.dat',sep=',',format='%d') //此時文件中為一串有逗號分割的數字,無分組信息
從文件中讀文件
np.fromfile(frame,dtype=float,count=-1,sep='')
count:讀入元素的個數,-1表示讀入整個文件
sep:數據分割字符串、如果為空串,讀取的文件為二進制。
例如:
c=np.fromfile('b.dat',dtype=np.int,sep=',') //此時c為一個一維數組
可以使用reshape變為多維數組。
便捷的文件存取
np.save(fname,array) //fname中以.npy為擴展名
np.savez(fname,array) //fname中以.npz為壓縮擴展名
np.load(fname)
隨機數函數--random子庫
rand(d0,d1,..dn) 根據d0-dn創建隨機數數組,浮點數[0,1),均勻分布
randn(d0,d1,..dn) 根據d0-dn創建隨機數數組,標準正態分布
randint(low,high,shape):根據shape創建隨機整數或整數數組,范圍是[low,high)
seed(s) 隨機數種子,s是給定的種子值
a=np.random.randn(3,4,5) //生成3維矩陣,維數分別是3,4,5
b=np.random.randint(100,200,(3,4))
shuffle(a) 根據數組a的第一軸進行隨機排序,改變數組a
permutation(a) 根據數組a的第一軸進行隨機排序,不改變數組a
choice(a,size,replace,p) 從一維數組a中以概率p抽取元素,形成size形狀新數組,replace表示是否可以重用元素,默認為true
uniform(low,high,size) 產生具有均勻分布的數組,low起始值,high結束值,size形狀
normal(loc,scale,size) 產生具有正態分布的數組,loc均值,scale標準差,size形狀
poisson(lam,size) 產生具有泊松分布的數組,lam隨機事件發生率,size形狀
統計函數
sum(a,axis=None) :給定軸axis計算和,axis整數或者元組
mean(a,axis=None):給定軸axis計算期望
average(a,axis=None,Weight=None) 給定軸axis計算數組a計算相關元素的加權平均值
std(a,axis=None) 計算數組a相關元素的標準差
var(a,axis=None) 計算數組a相關元素的方差
min(a)
argmin(a) 計算數組a中元素最小值、最大值降一維后下標
unravel_index(index,shape) 根據shape將一維下標index轉換成多維下標
ptp(a) 計算數組a中元素最大值和最小值的差
median(a) 計算數組a中元素的中位數(中值)
梯度函數--及斜率
np.gradient(a):返回元素的梯度,當f為多維時,返回每個維度梯度
圖像的數組表示
圖像:RGB色彩表示
PIL庫:具有強大圖像處理能力的第三方庫
使用:from PIL import Image
Image是PIL庫中代表一個圖像的類
im=np.array(Image.open("path+fileName"))
print(im.shape,im.dtype)
Image.open("E://Desktop//0.jpg").convert('L')將圖像轉化為灰度圖
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态