python資料復習課程_第1頁
python資料復習課程_第2頁
python資料復習課程_第3頁
python資料復習課程_第4頁
python資料復習課程_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 y t h o n 資 料python資料Python對csv的處理:#edcod in g:utf-8import pan das as pdimport csvdf=pd.read_csv(23.csv)print df.week #輸出week這一列的數(shù)據(jù)print dfweek #輸出week這一列的數(shù)據(jù)print df.ix1 #輸出第二行數(shù)據(jù)(下標是從0幵始的)print df.iloc:,1:4 #輸出第二到第四列的數(shù)據(jù)但是只可以通過序列取,不能通過列名pri nt df.ix:,LEASETIME,SHEDID #通過列名取出數(shù)據(jù)print df.ix:,1,5#取出第二行和

2、第六行數(shù)據(jù)(下標是從0幵始的)print df.ix5,1#輸出第六行第二列的數(shù)據(jù)(下標是從0幵始的)print df.head(10)#取出前十行數(shù)據(jù)print df.tail(10) #取出后十行數(shù)據(jù)(從后往前數(shù))print dfdf.week=0 # 將week這列等于0的全部取出來print df(df.week=0)&( df.SHEDID=8)#將week這一列等于0且SHEDID這一列等于8的數(shù)據(jù)全部取出(|這個符號表示或)list二3,4print dfdf.week.isin(list) #輸出 week 這一列滿足是3或的所有數(shù)pri nt =print df.sort_v

3、alues(by=week,ascending=True) #以 week 這一列從小至 U 大排序dfa=1print df #添加a這一列的值全部為1,也可以讓他等于一個列表,但列表的長度必須與行數(shù)相等del dfaprint df #刪除a這一列pr int =#groupby()這個函數(shù)是分組(但是不能單獨使用),count()這個方法是統(tǒng)計次數(shù),print df.groupby(df.week).count() #以week這一列分組后,統(tǒng)計相同的次數(shù)是多少#分組后可以是用一下方法count()、sum()(求和)、mean()(求平均數(shù))、max()(求最大值)、min()(求最小

4、值)Pyth on 中 nu mpy : #cod in g:utf-8 import nu mpy as np import array import pan das as pd import nu mpy as np # 列表 n=np.array(1,2,3,4) print n list1=1,2,3,a print list1#數(shù)組n= n p.array(1,2,3,a)pri nt n#自定義兩行兩列數(shù)組b=n p.array(1,2,3,4,5,6)pri nt bpri nt b.shape#自定義兩行兩列數(shù)組#自定義一個3行2列數(shù)組m 仁 np.array(1,2,3,4,

5、4,5)pri nt m1,m1.shape#訪問數(shù)組內(nèi)元素print m10,0print m11,1 a=n p.ara nge(5)pri nt apri nt a.dtypepri nt a.dtype.itemsizeprint 8(8.0)a=1+0.1jb=0.2pri nt a+ba=n p.ara n ge(7,dtype=D)pri nt a#查看數(shù)據(jù)類型pr int n p.dtype(float)pri nt n p.dtype(f)pri nt n p.dtype(f2);pri nt n p.dtype(f4);pri nt n p.dtype(f8)p

6、ri nt AAAAAAAAAAAAAt=n p.dtype(float) # t=n p.dtype(float)pri nt t.char,t#dtype類型屬性typepri nt t.type#dtype類型屬性str保存一個表示數(shù)據(jù)類型的字符串pri nt t.strpr in t BBBBBBBBBBBBBB#一維數(shù)組的切片與索引a=n p.ara nge(10)print a3:5 #左閉右?guī)詐rint a1:7:2 #左閉右?guī)?,間隔2print a4:-1 # 輸出4 3 2 1 0pri nt CCCCCCCCCCCCCCCC#處理數(shù)組形狀print a.reshape(2,

7、5) # 將 1 行 10 列數(shù)組轉換成 2 行 5 列數(shù)組 b=np.arange(24).reshape(2,3,4)pri nt bprint b.ravel() #將多為數(shù)組降為1維數(shù)組,默認以行為準,參數(shù)-1以列為準print b.flatten(-1) #拉直操作,默認以行為準,參數(shù)-1以列為準pri nt b.ravel().reshape(4,6)pr int b.ravel().reshape(4,6).tra nspose() #轉秩操作pri nt DDDDDDDDDDDDDDDDDDD#reshape函數(shù)返回一個新數(shù)組,但原數(shù)組本身.不變;# resize在返回一個新數(shù)

8、組的同時也改變原數(shù)組本身。pri nt b=,bpri nt b.reshape二,b.reshape(4,6)pri nt b=,bb.resize(2,12)pri nt b=,bb.shape=(2,3,2,2) #用元組的形式指定數(shù)組形狀pri nt bpr in t EEEEEEEEEEEEEEEEEEEEEEEEE#堆疊數(shù)組a=n p.ara nge(9).reshape(3,3)pri nt ab=a*2pri nt a*2c=np.hstack(a,b,a) # 水平疊加d=n p.vstack(a,b)# 垂直疊加prin t c,Hello,dprint np.c on c

9、ate nate(a,b),axis=1) #co ncate nate功能數(shù)組疊加,axis=0 默認水平疊加,axis=1 垂直疊加d=np.dstack(a,b,a) #深度疊加,沿著第三個坐標軸(縱向)的方向疊加一摞數(shù)組。pri nt d aa=n p.ara nge(2)bb=aa*2hstack類似vstack類似pri nt aa,bb#column_stack列式疊加,以列方式對一維數(shù)組進行堆疊,多維數(shù)組和pri nt n p.colu mn _stack(aa,bb) #以列方式對一維數(shù)組進行堆疊print np.column_stack(a,b) #多維數(shù)組和 hstack

10、 類似pr int n p.hstack(a,b)=n p.colu mn _stack(a,b)#row_stack行式疊加,以行方式對一維數(shù)組進行堆疊,多維數(shù)組和pri nt n p.row_stack(aa,bb)pri nt n p.row_stack(a,b)pr int n p.row_stack(a,b)=n p.vstack(a,b)prin t FFFFFFFFFFFFFFFFFFF#數(shù)組拆分a=n p.ara nge(9).reshape(3,3)pri nt aprint type( np.vsplit(a,3), np.vsplit(a,3) #縱向切分print n

11、p.hsplit(a,3)# 橫向切分print 深向切分print 切分前a=n p.ara nge(18).reshape(2,3,3)pri nt aprint 切分后pri nt n p.dsplit(a,3)pri nt GGGGGGGGGGGGGGGGprint數(shù)組的屬性,不需要加()pri nt aprint a.ndim #數(shù)組的維度print a.shape#數(shù)組的每一維度的大小print a.dtype#數(shù)組中元素的數(shù)據(jù)類型,numpy要求數(shù)組元素類型一致print a.size # 數(shù)組中元素個數(shù)print a.itemsize #返回數(shù)組中各個元素所占用的字節(jié)數(shù)prin

12、t a.itemsize*a.size # 返回數(shù)組占用空間大小 (字節(jié)為單位)b=np.arange(5)pri nt bprint a.T #轉秩,與transpose。函數(shù)功能相同pri nt b.n dimb=np.array(1,2+2j) #復數(shù)用j表示,定義一個數(shù)組,包含兩個元素print b.real #獲取數(shù)組的實部print b.imag #獲取數(shù)組的虛部print b.dtype #復數(shù)數(shù)據(jù)類型自動變成復數(shù)類型b=n p.ara nge(4).reshape(2,2)f=b.flatprint f1,3,2 #取列表中的某幾個元素for i in f: #對列表做循環(huán)pr

13、i nt ib.flat=7 #對數(shù)組整體賦值pri nt bb.flat2=3print b #對數(shù)組某個元素賦值b.flat2,3=2pri nt bpri nt GGGGGGGGGGGGGGGGGGGGGGGGGGGprint 數(shù)組的轉換,tolist()方法a=n p.array(1+1j,0.3+0.8j)pri nt aprint a.dtypeb=a.tolist()print bprint type(b) #此時b已經(jīng)不是numpy數(shù)組,不能再具有 dtype屬性,查看類型a=11print type(a) #a.dtypeb=n p.array(1+1j,0.3+0.8j)c

14、=b.astype(float) #將數(shù)組元素轉換成指定類型print c,b # 轉換完成虛部被舍棄print HHHHHHHHHHHHHHHHHHHHHHHprint 創(chuàng)建數(shù)組的視圖#acopy=le na.copy()#pri nt acopyPyth on 中 pan das : #cod in g=utf-8import pan das as pdimport nu mpy as np#Seriesobj=pd.Series(1,2,3,4)print objobj=pd.Series(1,2,i ndex二a,b)print objdata二pd.Series(0,1,2,3,i

15、ndex=1,2,3,4)print dataprint datadata1print data*3print data3print pd.notn ull(a)#DataFrame data=state:beiji n,sha ngha i ,ha ngzhou,a:a,b,c print pd.DataFrame(data)print pd.DataFrame(data,colu mn s=state,a,i ndex二1,2,3) a=pd.DataFrame(data)print a.ix1print a.Tprint a2:4 a=pd.Series( np.ara nge(4,8)

16、,i ndex=a,b,c,d) print aprin t aaaaaaprint a:4prin t aaaaaaprint a:5 df 仁 pd.DataFrame(np.arange(1,13).reshape(3,4),columns二a,b,c,d,index二A,B,C) print df1df2=pd.DataFrame( np.ara nge(1,10).reshape(3,3),colum ns二a,b,e)print df2print df1.add(df2,fill_value=0)Python 中 matplotlib :線型圖:import matplotlib.

17、pyplot as pltx=1,3,5y=4,6,8x1=3,4,6y1=5,4,9 plt.plot(x, y, label二First Line)plt.plot(x1, y1, label二Seco nd Li ne)plt.xlabel(Plot Number)plt.ylabel(Importa nt var)plt.title(Interesting GraphnCheck it out)pltege nd()plt.show()label。這允許我們?yōu)榫€條指plt.legend()生成默認圖例在這里,我們繪制了我們已經(jīng)看到的東西,但這次我們添加另一個參數(shù) 定名稱,我們以后可以在

18、圖例中顯示它。使用plt.xlabel和plt.ylabel,我們可以為這些相應的軸創(chuàng)建標簽。接下來,我們可以使用 plt.title創(chuàng)建圖的標題,然后我們可以使用條形圖:import matplotlib.pyplot as pltplt.bar(1,3,5,7,9,5,2,7,8,2, label二Example one)plt.bar(2,4,6,8,10,8,6,2,5,6, label二Example two, color二g)pltege nd()plt.xlabel(bar nu mber)plt.ylabel(bar height)plt.title(Epic GraphnAn

19、other Line! Whoa)plt.show()plt.bar為我們創(chuàng)建條形圖。如果你沒有明確選擇一種顏色,那么雖然做了多個圖,所有的條看起來會一樣。這讓我們有機會使用一個新的Matplotlib自定義選項。你可以在任何類型的繪圖中使用顏色,例如g為綠色,你還可以使用十六進制顏色代碼,b為藍色,r為紅色,y為黃色,k為黑色,w為白色,買等等如#191970 。直方圖:接下來,我們會講解直方圖。直方圖非常像條形圖,傾向于通過將區(qū)段組合在一起來顯示分布。個例子可能是年齡的分組,或測試的分數(shù)。我們并不是顯示每一組的年齡,而是按照20? 25,25? 30等等來顯示年齡。這里有一個例子:impo

20、rt matplotlib.pyplot as pltpopulati on _ages = 22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48bi ns = 0,10,20,30,40,50,60,70,80,90,100,110,120,130plt.hist(populati on _ages, bins, histtype二bar, rwidth=0.8)plt.xlabel(x)plt.ylabel(y)plt.title(Interesting Gra

21、phnCheck it out)pltege nd()plt.show()對于plt.hist,你首先需要放入所有的值,然后指定放入哪個桶或容器。在我們的例子中,我們繪制了一堆年齡,并希望以10年的增量來顯示它們。我們將條形的寬度rwidth設為0.8,但是如果你想讓條形變寬,或者變窄,你可以選擇其他的寬度。散點圖import matplotlib.pyplot as pltx = 1,2,3,4,5,6,7,8y = 5,2,4,2,1,4,5,2plt.scatter(x,y, label二skitscat, color二k, s=25, marker二o)plt.xlabel(x)plt

22、.ylabel(y)plt.title(Interesting GraphnCheck it out)pltege nd()plt.show()plt.scatter不僅允許我們繪制x和y,而且還可以讓我們決定所使用的標記顏色color,大小s和類型marker o有一堆標記選項,請參閱 Matplotlib標記文檔中的所有選項。堆疊圖:在這篇Matplotlib數(shù)據(jù)可視化教程中,我們要介紹如何創(chuàng)建堆疊圖。堆疊圖用于顯示部分對整體隨時間的關系。堆疊圖基本上類似于餅圖,只是隨時間而變化。讓我們考慮一個情況,我們一天有24小時,我們想看看我們?nèi)绾位ㄙM時間。我們將我們的活動分為:睡覺,吃飯,工作和玩

23、耍。我們假設我們要在5天的時間內(nèi)跟蹤它,因此我們的初始數(shù)據(jù)將如下所import matplotlib.pyplot as pltdays = 1,2,3,4,5sleepi ng = 7,8,6,11,7eati ng = 2,3,4,3,2worki ng = 7,8,7,2,2playi ng = 8,5,7,8,13plt.plot(,color二m, label二Sleep in g, li newidth=5)plt.plot(,color二c, label二Eati ng, li newidth=5)plt.plot(,color二r, label二Worki ng, li newidth=5)plt.plot(,color=k, label=Playi ng, li newidth=5)plt.stackplot(days, sleep in g,eat in g,work in g,play ing, colors二m,c,r,k)plt.xlabel(x)plt.ylabel(y)plt.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論