13161216443

您所在位置: 首頁> 學習課程> python培訓 | python實戰:Python數據分析與可視化

python培訓 | python實戰:Python數據分析與可視化

發布百知教育 來源:學習課程 2019-11-18

Python是一個很適合與數據打交道的語言,你可以用它來做爬蟲,做表格,做折線圖,數據清洗,大數據,量化交易,做分析工具用來炒股,圖形AI識別。


一、初識pandas

pandas是進行數據分析的庫,有很強大的數據處理能力


pandas基于Numpy的數據分析工具(Numpy我會在進階篇寫的)


她沒用Python已有的數據結構和其他庫的數據結構,而是自己設計了兩種數據結構:Series和Dataframe


用他們兩個來處理表格型的數據非常方便。


Series數組

Series是一種一維的帶標簽數組對象


Series數組對象由兩部分構成:


  • 值(value):一維數組的各元素值,是一個ndarray(會在Numpy篇里講)類型數據。

  • 索引(index):與一維數組值一一對應的標簽。利用索引,我們可非常方便在Series數組中進行取值。



使用列表創建Series


python培訓


python培訓


創建Series數據結構時,如果沒有指定標簽,那就從0開始遞增。


也可以一開始給指定index:


python培訓

python培訓


這里就可以利用索引取值出來了:


a[0]或者a['b']


從NumPy創建Series(這里必須是傳入的一維數組對象)


python培訓



使用字典創建series


python培訓


python培訓


series數組常用屬性


Series數組的屬性與numpy數組屬性很是類似,如下表所示


python培訓


DataFrame數組

series是一維的,dataframe是二維的,和Excel表格相似,其數據的呈現方式類似于Excel這種二維表結構。


相比于Series數組,DataFrame可以存放多維數據,所以DataFrame不僅僅有索引,還有列名。


通過字典創建


python培訓


python培訓


通過二維數組創建


python培訓


python培訓


通過列表創建


通過列表創建DataFrame數組時,列表的每一個元素必須是字典,這樣,字典的鍵將作為列名。


python培訓


通過功能函數創建


我們還可以通過諸如from_dict()、from_records()這類的功能函數來創建DataFrame數組,以from_dict()為例:


python培訓

如果需要讓字典的鍵作為索引,重新指定列名,可以傳入orient='index'參數,然后重新傳入列名。

DataFrame數組常用屬性

DataFrame數組的屬性與Series數據幾乎一樣,只是多了一個保存列名信息的columns屬性,參看上面表格中的Series屬性就行了。

DataFrame元素索引

創建時指定了index 和 columns標簽,這是為了便于通過標簽取得元素。與列表類似,dataframe也可以選取一個或多個元素。

輸出行列索引和元素值:

dataframe.columns

dtataframe.index

dataframe.values

動手寫一遍代碼


python培訓


22.png


按列或行索引


在dataframe中,通過dataframe[列名]或dataframe.列名的方式就可以取得對應的一列數據。


python培訓


更新DataFrame


python培訓


二、數據運算


在進行數據運算的時候,pandas可以讓數據自動對齊。參與運算的兩個數據結構的索引順序不一致,但是只要索引項一致,就可以自動對齊,并進行運算,如果索引項只在一個數據結構中出現,那么該元素無法進行對齊和運算,用NaN填充。


series之間的運算


python培訓


python培訓


DataFrame之間的運算


對齊規則相同,但是列和行都需要對齊


python培訓


列和行標簽相同才會做運算。否則NaN填充。

pandas里有算術函數可以進行常規運算:

add()//加

sub()//減

mul()//乘

div()//除

s1.add(s2)

series和dataframe之間的運算


他們兩種不同的數據結構進行數學運算時,series中的元素會與dataframe中具有相同列索引的元素進行數學運算:


python培訓


注意columns和index是對應的,如果一個索引項只存在于一個數據結構中,那么運算結果中會為該索引生成一列,只不過都是NaN。


numpy通用函數


pandas可以用numpy函數拓展,操作series和dataframe,比如sqrt,square函數,這是開方和平方的。


python培訓


三、文件讀取和數據選取


pandas對大量的Excel表格進行操作,pandas可以對Excel,csv,數據庫文件等等進行數據讀取。

read_excel()和read_csv(),用info函數去查看數據的整體信息。


python培訓


數據選取


使用loc和iloc選取數據

df.loc[]只能使用標簽索引,不能使用整數索引,通過便簽索引切邊進行篩選時,前閉后閉。

df.iloc[]只能使用整數索引,不能使用標簽索引,通過整數索引切邊進行篩選時,前閉后開。


df.ix[]既可以通過整數索引進行數據選取,也可以通過標簽索引進行數據選取,換句話說,df.ix[]是df.loc[]和df.iloc[]的功能集合,且在同義詞選取中,可以同時使用整數索引和標簽索引。


Python培訓:http://www.akpsimsu.com/python2019



上一篇:python培訓 | Python創意編程,實現傅里葉級數可視化

下一篇:應屆生去公司找個Java程序員的職位需要什么技能?

相關推薦

www.akpsimsu.com

有位老師想和您聊一聊

關閉

立即申請