1. 程式人生 > 程式設計 >詳解React的元件通訊

詳解React的元件通訊


Numpy:
儲存和處理大型矩陣,比Python自身的巢狀列表結構高效,由C語言開發。資料結構為ndarray,一般有三種方式來建立。

Pandas:
基於NumPy的一種工具,該工具是為了解決資料分析任務而建立的。Pandas納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。最具有統計意味的工具包,某些方面優於R軟體。資料結構有一維的Series,二維的DataFrame,三維的Panel。

學習Pandas你要掌握的是:
1.彙總和計算描述統計,處理缺失資料,層次化索引
2.清理、轉換、合併、重塑、GroupBy技術
3.日期和時間資料型別及工具(日期處理方便地飛起)

Matplotlib:

Python中最著名的繪圖系統,很多其他的繪圖例如seaborn(針對pandas繪圖而來)也是由其封裝而成。
繪製的圖形可以大致按照ggplot的顏色顯示,但是還是感覺很雞肋。但是matplotlib的複雜給其帶來了很強的定製性。其具有面向物件的方式及Pyplot的經典高層封裝。

需要掌握的是:
1.散點圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪製。
2.繪圖的三大系統:pyplot,pylab(不推薦),面向物件
3.座標軸的調整,新增文字註釋,區域填充,及特殊圖形patches的使用
4.金融的同學注意的是:可以直接呼叫Yahoo財經資料繪圖

Scipy:
方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模組,傅立葉變換,訊號和影象處理,常微分方程求解器等等。基本可以代替Matlab,但是使用的話和資料處理的關係不大,數學系,或者工程系相對用的多一些。

解決一些具體問題(Pandas)
importpandasaspda
#使用pandas生成資料
#Series代表某一串資料index指定行索引名稱,Series索引預設從零開始
#DataFrame代表行列整合出來的資料框,columns指定列名
a=pda.Series([8,9,2,1],index=['one','two','three','four'])
#以列表的格式建立資料框
b=pda.DataFrame([[5,6,2,3],[3,5,1,4],[7,9,3,5]],columns=['one','two','three','four'],index=['one','two','three'])
#以字典的格式建立資料框
c=pda.DataFrame({
'one':4,#會自動補全
'two':[6,2,3],
'three':list(str(982))
})
#b.head(行數)#預設取前5行頭
#b.tail(行數)#預設取後5行尾
#b.describe()統計資料的情況countmeanstdmin25%max
e=b.head()
f=b.describe()
#資料的轉置,及行變成列,列變成行
g=b.T



Matplotlib影象處理
importmatplotlib.pyplotasplt
importnumpyasnp
#生成測試資料
x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2
#生成畫布
plt.figure(facecolor='grey')

#figure()中的屬性
'''
**num=3**
畫出來圖的標題就是‘Figure3’
如果傳一個str,eg.num='折線圖'圖的標題就是‘折線圖’

**figsize=(8,4)**
指定繪圖物件的寬度和高度,單位為英寸,一英寸=80px

**facecolor='blue'**
背景顏色,預設是白色
也可以以‘#+6位16進位制數’給出,eg.'#00ff00'

**edgecolor='red'**
邊框顏色,預設是白色
'''
#畫圖
plt.plot(x,y1,linestyle='--')
plt.plot(x,y2)

#plot的屬性
'''
**linewidth=3**
線條寬度
也可以寫作lw=3

**markersize='20'**
線上標記的尺寸
注意要傳字串型別的值

**marker='2'**
線上的標記
============================================
characterdescription
============================================
``'.'``pointmarker
``','``pixelmarker
``'o'``circlemarker
``'v'``triangle_downmarker
``'^'``triangle_upmarker
``'<'``triangle_leftmarker
``'>'``triangle_rightmarker
``'1'``tri_downmarker
``'2'``tri_upmarker
``'3'``tri_leftmarker
``'4'``tri_rightmarker
``'s'``squaremarker
``'p'``pentagonmarker
``'*'``starmarker
``'h'``hexagon1marker
``'H'``hexagon2marker
``'+'``plusmarker
``'x'``xmarker
``'D'``diamondmarker
``'d'``thin_diamondmarker
``'|'``vlinemarker
``'_'``hlinemarker
============================================

**linestyle=':'**
線的型別
============================================
characterdescription
============================================
``'-'``solidlinestyle
``'--'``dashedlinestyle
``'-.'``dash-dotlinestyle
``':'``dottedlinestyle
============================================
也可表示為linestyle='dashed'

**colors='r'**

Thesupportedcolorabbreviationsarethesinglelettercodes

============================================
charactercolor
============================================
``'b'``blue
``'g'``green
``'r'``red
``'c'``cyan
``'m'``magenta
``'y'``yellow
``'k'``black
``'w'``white
============================================
也可用'#ff0000'這種形式表示
'''
#必須要有這一句畫圖才能顯示
plt.show()