downsample函數(shù):可以通過下采樣將原來的數(shù)據(jù)提取出來。 dataTx=rcosflt(dataTx1,fs/8,fs,'filter',num);表示將數(shù)據(jù)dataTx進(jìn)行8倍過采樣的滾降升余弦濾波,過采樣增加的點(diǎn)數(shù)為2*delay*(fs/fd),其中在原數(shù)據(jù)的開頭和結(jié)尾各一半, dataTx=rcosfl...
創(chuàng)新互聯(lián)建站專業(yè)成都網(wǎng)站制作、網(wǎng)站設(shè)計,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)稿等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
#python中的pandas庫主要有DataFrame和Series類(面向?qū)ο蟮牡恼Z言更愿意叫類) DataFrame也就是
#數(shù)據(jù)框(主要是借鑒R里面的data.frame),Series也就是序列 ,pandas底層是c寫的 性能很棒,有大神
#做過測試 處理億級別的數(shù)據(jù)沒問題,起性能可以跟同等配置的sas媲美
#DataFrame索引 df.loc是標(biāo)簽選取操作,df.iloc是位置切片操作
print(df[['row_names','Rape']])
df['行標(biāo)簽']
df.loc[行標(biāo)簽,列標(biāo)簽]
print(df.loc[0:2,['Rape','Murder']])
df.iloc[行位置,列位置]
df.iloc[1,1]#選取第二行,第二列的值,返回的為單個值
df.iloc[0,2],:]#選取第一行及第三行的數(shù)據(jù)
df.iloc[0:2,:]#選取第一行到第三行(不包含)的數(shù)據(jù)
df.iloc[:,1]#選取所有記錄的第一列的值,返回的為一個Series
df.iloc[1,:]#選取第一行數(shù)據(jù),返回的為一個Series
print(df.ix[1,1]) # 更廣義的切片方式是使用.ix,它自動根據(jù)你給到的索引類型判斷是使用位置還是標(biāo)簽進(jìn)行切片
print(df.ix[0:2])
#DataFrame根據(jù)條件選取子集 類似于sas里面if、where ,R里面的subset之類的函數(shù)
df[df.Murder13]
df[(df.Murder10)(df.Rape30)]
df[df.sex==u'男']
#重命名 相當(dāng)于sas里面的rename R軟件中reshape包的中的rename
df.rename(columns={'A':'A_rename'})
df.rename(index={1:'other'})
#刪除列 相當(dāng)于sas中的drop R軟件中的test['col']-null
df.drop(['a','b'],axis=1) or del df[['a','b']]
#排序 相當(dāng)于sas里面的sort R軟件里面的df[order(x),]
df.sort(columns='C') #行排序 y軸上
df.sort(axis=1) #各個列之間位置排序 x軸上
#數(shù)據(jù)描述 相當(dāng)于sas中proc menas R軟件里面的summary
df.describe()
#生成新的一列 跟R里面有點(diǎn)類似
df['new_columns']=df['columns']
df.insert(1,'new_columns',df['B']) #效率最高
df.join(Series(df['columns'],name='new_columns'))
#列上面的追加 相當(dāng)于sas中的append R里面cbind()
df.append(df1,ignore_index=True)
pd.concat([df,df1],ignore_index=True)
#最經(jīng)典的join 跟sas和R里面的merge類似 跟sql里面的各種join對照
merge()
#刪除重行 跟sas里面nodukey R里面的which(!duplicated(df[])類似
df.drop_duplicated()
#獲取最大值 最小值的位置 有點(diǎn)類似矩陣?yán)锩娴姆椒?/p>
df.idxmin(axis=0 ) df.idxmax(axis=1) 0和1有什么不同 自己摸索去
#讀取外部數(shù)據(jù)跟sas的proc import R里面的read.csv等類似
read_excel() read_csv() read_hdf5() 等
與之相反的是df.to_excel() df.to_ecv()
#缺失值處理 個人覺得pandas中缺失值處理比sas和R方便多了
df.fillna(9999) #用9999填充
#鏈接數(shù)據(jù)庫 不多說 pandas里面主要用 MySQLdb
import MySQLdb
conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="mysql",use_unicode=True,charset="utf8")
read_sql() #很經(jīng)典
#寫數(shù)據(jù)進(jìn)數(shù)據(jù)庫
df.to_sql('hbase_visit',con, flavor="mysql", if_exists='replace', index=False)
#groupby 跟sas里面的中的by R軟件中dplyr包中的group_by sql里面的group by功能是一樣的 這里不多說
#求啞變量
dumiper=pd.get_dummies(df['key'])
df['key'].join(dumpier)
#透視表 和交叉表 跟sas里面的proc freq步類似 R里面的aggrate和cast函數(shù)類似
pd.pivot_table()
pd.crosstab()
#聚合函數(shù)經(jīng)常跟group by一起組合用
df.groupby('sex').agg({'height':['mean','sum'],'weight':['count','min']})
#數(shù)據(jù)查詢過濾
test.query("0.2
將STK_ID中的值過濾出來
stk_list = ['600809','600141','600329']中的全部記錄過濾出來,命令是:rpt[rpt['STK_ID'].isin(stk_list)].
將dataframe中,某列進(jìn)行清洗的命令
刪除換行符:misc['product_desc'] = misc['product_desc'].str.replace('\n', '')
刪除字符串前后空格:df["Make"] = df["Make"].map(str.strip)
如果用模糊匹配的話,命令是:
rpt[rpt['STK_ID'].str.contains(r'^600[0-9]{3}$')]
對dataframe中元素,進(jìn)行類型轉(zhuǎn)換
df['2nd'] = df['2nd'].str.replace(',','').astype(int) df['CTR'] = df['CTR'].str.replace('%','').astype(np.float64)
#時間變換 主要依賴于datemie 和time兩個包
#其他的一些技巧
df2[df2['A'].map(lambda x:x.startswith('61'))] #篩選出以61開頭的數(shù)據(jù)
df2["Author"].str.replace(".+", "").head() #replace(".+", "")表示將字符串中以””開頭;以””結(jié)束的任意子串替換為空字符串
commits = df2["Name"].head(15)
print commits.unique(), len(commits.unique()) #獲的NAME的不同個數(shù),類似于sql里面count(distinct name)
#pandas中最核心 最經(jīng)典的函數(shù)apply map applymap
PIL有如下幾個模塊:Image模塊、ImageChops模塊、ImageCrackCode模塊、ImageDraw模塊、ImageEnhance模塊、ImageFile模塊、ImageFileIO模塊、ImageFilter模塊、ImageFont模塊、ImageGrab模塊、ImageOps模塊、ImagePath模塊、ImageSequence模塊、ImageStat模塊、ImageTk模塊、ImageWin模塊、PSDraw模塊
啊啊啊啊怎么這么多模塊啊~~~!!!!
別擔(dān)心我為你一一講解
Image模塊提供了一個相同名稱的類,即image類,用于表示PIL圖像。
Image模塊是PIL中最重要的模塊 ,比如創(chuàng)建、打開、顯示、保存圖像等功能,合成、裁剪、濾波等功能,獲取圖像屬性功能,如圖像直方圖、通道數(shù)等。
Image模塊的使用如下:
ImageChops模塊包含一些算術(shù)圖形操作,這些操作可用于諸多目的,比如圖像特效,圖像組合,算法繪圖等等,通道操作只用于8位圖像。
ImageChops模塊的使用如下:
由于圖像im_dup是im的復(fù)制過來的,所以它們的差為0,圖像im_diff顯示時為黑圖。
ImageCrackCode模塊允許用戶檢測和測量圖像的各種特性。 這個模塊只存在于PIL Plus包中。
因為我目前安裝的PIL中沒有包含這個模塊。所以就不詳細(xì)介紹了
ImageDraw模塊為image對象提供了基本的圖形處理功能。 例如,它可以創(chuàng)建新圖像,注釋或潤飾已存在圖像,為web應(yīng)用實時產(chǎn)生各種圖形。
ImageDraw模塊的使用如下:
在del draw前后顯示出來的圖像im是完全一樣的,都是在原有圖像上畫了兩條對角線。
原諒我的報錯
ImageEnhance模塊包括一些用于圖像增強(qiáng)的類。它們分別為 Color類、Brightness類、Contrast類和Sharpness類。
ImageEnhance模塊的使用如下:
圖像im0的亮度為圖像im的一半。
ImageFile模塊為圖像打開和保存功能提供了相關(guān)支持功能。另外,它提供了一個Parser類,這個類可以一塊一塊地對一張圖像進(jìn)行解碼(例如,網(wǎng)絡(luò)聯(lián)接中接收一張圖像)。這個類的接口與標(biāo)準(zhǔn)的sgmllib和xmllib模塊的接口一樣。
ImageFile模塊的使用如下:
因為所打開圖像大小大于1024個byte,所以報錯:圖像不完整。
所以大家想看的可以自行去找一個小一點(diǎn)的圖看一下
ImageFileIO模塊用于從一個socket或者其他流設(shè)備中讀取一張圖像。 不贊成使用這個模塊。 在新的code中將使用ImageFile模塊的Parser類來代替它。
ImageFilter模塊包括各種濾波器的預(yù)定義集合,與Image類的filter方法一起使用。該模塊包含這些圖像增強(qiáng)的濾器:BLUR,CONTOUR,DETAIL,EDGE_ENHANCE,EDGE_ENHANCE_MORE,EMBOSS,F(xiàn)IND_EDGES,SMOOTH,SMOOTH_MORE和SHARPEN。
ImageFilter模塊的使用如下:
ImageFont模塊定義了一個同名的類,即ImageFont類。這個類的實例中存儲著bitmap字體,需要與ImageDraw類的text方法一起使用。
PIL使用自己的字體文件格式存儲bitmap字體。用戶可以使用pilfont工具包將BDF和PCF字體描述器(Xwindow字體格式)轉(zhuǎn)換為這種格式。
PIL Plus包中才會支持矢量字體。
ImageGrab模塊用于將屏幕上的內(nèi)容拷貝到一個PIL圖像內(nèi)存中。 當(dāng)前的版本只在windows操作系統(tǒng)上可以工作。
ImageGrab模塊的使用如下:
圖像im顯示出筆記本當(dāng)前的窗口內(nèi)容,就是類似于截圖的工具
ImageOps模塊包括一些“ready-made”圖像處理操作。 它可以完成直方圖均衡、裁剪、量化、鏡像等操作 。大多數(shù)操作只工作在L和RGB圖像上。
ImageOps模塊的使用如下:
圖像im_flip為圖像im垂直方向的鏡像。
ImagePath模塊用于存儲和操作二維向量數(shù)據(jù)。Path對象將被傳遞到ImageDraw模塊的方法中。
ImagePath模塊的使用如下:
ImageSequence模塊包括一個wrapper類,它為圖像序列中每一幀提供了迭代器。
ImageSequence模塊的使用如下:
后面兩次show()函數(shù)調(diào)用,分別顯示第1張和第11張圖像。
ImageStat模塊計算一張圖像或者一張圖像的一個區(qū)域的全局統(tǒng)計值。
ImageStat模塊的使用如下:
ImageTk模塊用于創(chuàng)建和修改BitmapImage和PhotoImage對象中的Tkinter。
ImageTk模塊的使用如下:
這個是我一直不太懂的有沒有大佬能幫我解決一下在線等~急!
PSDraw模塊為Postscript打印機(jī)提供基本的打印支持。用戶可以通過這個模塊打印字體,圖形和圖像。
PIL中所涉及的基本概念有如下幾個: 通道(bands)、模式(mode)、尺寸(size)、坐標(biāo)系統(tǒng)(coordinate system)、調(diào)色板(palette)、信息(info)和濾波器(filters)。
每張圖片都是由一個或者多個數(shù)據(jù)通道構(gòu)成。PIL允許在單張圖片中合成相同維數(shù)和深度的多個通道。
以RGB圖像為例,每張圖片都是由三個數(shù)據(jù)通道構(gòu)成,分別為R、G和B通道。而對于灰度圖像,則只有一個通道。
對于一張圖片的通道數(shù)量和名稱,可以通過getbands()方法來獲取。getbands()方法是Image模塊的方法,它會返回一個字符串元組(tuple)。該元組將包括每一個通道的名稱。
Python的元組與列表類似,不同之處在于元組的元素不能修改,元組使用小括號,列表使用方括號,元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。
getbands()方法的使用如下:
圖像的模式定義了圖像的類型和像素的位寬。當(dāng)前支持如下模式:
1:1位像素,表示黑和白,但是存儲的時候每個像素存儲為8bit。
L:8位像素,表示黑和白。
P:8位像素,使用調(diào)色板映射到其他模式。
I:32位整型像素。
F:32位浮點(diǎn)型像素。
RGB:3x8位像素,為真彩色。
RGBA:4x8位像素,有透明通道的真彩色。
CMYK:4x8位像素,顏色分離。
YCbCr:3x8位像素,彩色視頻格式。
PIL也支持一些特殊的模式,包括RGBX(有padding的真彩色)和RGBa(有自左乘alpha的真彩色)。
可以通過mode屬性讀取圖像的模式。其返回值是包括上述模式的字符串。
mode 屬性 的使用如下:
通過size屬性可以獲取圖片的尺寸。這是一個二元組,包含水平和垂直方向上的像素數(shù)。
mode屬性的使用如下:
PIL使用笛卡爾像素坐標(biāo)系統(tǒng),坐標(biāo)(0,0)位于左上角。注意:坐標(biāo)值表示像素的角;位于坐標(biāo)(0,0)處的像素的中心實際上位于(0.5,0.5)。
坐標(biāo)經(jīng)常用于二元組(x,y)。長方形則表示為四元組,前面是左上角坐標(biāo)。例如:一個覆蓋800x600的像素圖像的長方形表示為(0,0,800,600)。
調(diào)色板模式 ("P")使用一個顏色調(diào)色板為每個像素定義具體的顏色值
使用info屬性可以為一張圖片添加一些輔助信息。這個是字典對象。加載和保存圖像文件時,多少信息需要處理取決于文件格式。
info屬性的使用如下:
對于將多個輸入像素映射為一個輸出像素的幾何操作,PIL提供了4個不同的采樣濾波器:
NEAREST:最近濾波。 從輸入圖像中選取最近的像素作為輸出像素。它忽略了所有其他的像素。
BILINEAR:雙線性濾波。 在輸入圖像的2x2矩陣上進(jìn)行線性插值。注意:PIL的當(dāng)前版本,做下采樣時該濾波器使用了固定輸入模板。
BICUBIC:雙立方濾波。 在輸入圖像的4x4矩陣上進(jìn)行立方插值。注意:PIL的當(dāng)前版本,做下采樣時該濾波器使用了固定輸入模板。
ANTIALIAS:平滑濾波。 這是PIL 1.1.3版本中新的濾波器。對所有可以影響輸出像素的輸入像素進(jìn)行高質(zhì)量的重采樣濾波,以計算輸出像素值。在當(dāng)前的PIL版本中,這個濾波器只用于改變尺寸和縮略圖方法。
注意:在當(dāng)前的PIL版本中,ANTIALIAS濾波器是下采樣 (例如,將一個大的圖像轉(zhuǎn)換為小圖) 時唯一正確的濾波器。 BILIEAR和BICUBIC濾波器使用固定的輸入模板 ,用于固定比例的幾何變換和上采樣是最好的。Image模塊中的方法resize()和thumbnail()用到了濾波器。
resize()方法的定義為:resize(size, filter=None)= image
resize()方法的使用如下:
對參數(shù)filter不賦值的話,resize()方法默認(rèn)使用NEAREST濾波器。如果要使用其他濾波器可以通過下面的方法來實現(xiàn):
thumbnail ()方法的定義為:im.thumbnail(size, filter=None)
thumbnail ()方法的使用如下:
這里需要說明的是,方法thumbnail()需要保持寬高比,對于size=(200,200)的輸入?yún)?shù),其最終的縮略圖尺寸為(182, 200)。
對參數(shù)filter不賦值的話,方法thumbnail()默認(rèn)使用NEAREST濾波器。如果要使用其他濾波器可以通過下面的方法來實現(xiàn):
Python-for-data-重新采樣和頻率轉(zhuǎn)換
重新采樣指的是將時間序列從一個頻率轉(zhuǎn)換到另一個頻率的過程。
但是也并不是所有的采樣方式都是屬于上面的兩種
pandas中使用resample方法來實現(xiàn)頻率轉(zhuǎn)換,下面是resample方法的參數(shù)詳解:
將數(shù)據(jù)聚合到一個規(guī)則的低頻上,例如將時間轉(zhuǎn)換為每個月,"M"或者"BM",將數(shù)據(jù)分成一個月的時間間隔。
每個間隔是半閉合的,一個數(shù)據(jù)只能屬于一個時間間隔。時間間隔的并集必須是整個時間幀
默認(rèn)情況下,左箱體邊界是包含的。00:00的值是00:00到00:05間隔內(nèi)的值
產(chǎn)生的時間序列按照每個箱體左邊的時間戳被標(biāo)記。
傳遞span class="mark"label="right"/span可以使用右箱體邊界標(biāo)記時間序列
向loffset參數(shù)傳遞字符串或者日期偏置
在金融數(shù)據(jù)中,為每個數(shù)據(jù)桶計算4個值是常見的問題:
通過span class="girk"ohlc聚合函數(shù)/span能夠得到四種聚合值列的DF數(shù)據(jù)
低頻轉(zhuǎn)到高頻的時候會形成缺失值
ffill() :使用前面的值填充, limit 限制填充的次數(shù)
網(wǎng)站題目:python下采樣函數(shù),python 上采樣
本文地址:http://vcdvsql.cn/article6/heosog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、企業(yè)建站、關(guān)鍵詞優(yōu)化、App開發(fā)、網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)