最近小爬我爲了提高數據分析這塊兒的技能,學習了pandas庫做者Wes Mckinney的數據分析經典書籍《利用Python進行數據分析》,受益良多!裏面涉及到Python語言基礎、還有編程利器Ipython、Jupyter notebook的使用小技巧,數組分析工具Numpy以及pandas的基礎入門和深刻知識,甚至還包含繪圖與可視化的相關知識。在學習過程當中,小爬深入感覺到:工欲善其事必先利其器。有了好的工具加持,數據分析再也不是難事!python
小爬先說說以前不知道但在該書中提到的Ipython的一些技巧:sql
一、Tab補全數據庫
相較於標準python命令行,Ipython的提高之一就是tab補全功能。當在命令行輸入表達式時,按下Tab鍵便可爲任意變量(對象、函數等)搜索命名空間,與當前已輸入的字符進行匹配:編程
Tab補全 在其餘不少上下文場景中也有用。當輸入任意路徑時,按下Tab鍵將補全你的計算機文件系統中匹配你輸入內容的值:數組
二、內省數據結構
在一個變量名的先後使用問號(?)能夠顯示一些關於該對象的重要信息:函數
好比咱們想知道print函數的用法,就能夠這樣操做:工具
假設有這麼一個函數:學習
使用雙問號甚至能夠顯示函數的源代碼:spa
三、%run命令
能夠在Ipython會話中使用%run命令運行任意的python程序文件,如:
四、中斷運行中的代碼
在任意代碼運行時按下Ctrl-C,不管腳本運行到哪一步,都會引發keyboardInterrupt。除了一些特殊狀況,這致使全部的python程序當即中止運行。
五、Ipython的常見快捷鍵
- Ctrl-P 或上箭頭鍵 後向搜索命令歷史中以當前輸入的文本開頭的命令
- Ctrl-N 或下箭頭鍵 前向搜索命令歷史中以當前輸入的文本開頭的命令
- Ctrl-R 按行讀取的反向歷史搜索(部分匹配)
- Ctrl-Shift-v 從剪貼板粘貼文本
- Ctrl-C 停止當前正在執行的代碼
- Ctrl-A 將光標移動到行首
- Ctrl-E 將光標移動到行尾
- Ctrl-K 刪除從光標開始至行尾的文本
- Ctrl-U 清除當前行的全部文本譯註12
- Ctrl-F 將光標向前移動一個字符
- Ctrl-b 將光標向後移動一個字符
- Ctrl-L 清屏
小爬再來講說Pandas,它所包含的數據結構和數據處理工具的設計使得在python中進行數據清洗和分析異常方便和快捷。
咱們通常這樣導入Pandas:
import pandas as pd
pandas中有兩個很是有名的類Series Dataframe,若是隻想導入這兩個類,能夠這樣:
from pandas import Series,Dataframe
一、Series
Series是一維數組對象,它包含一個值序列,而且含數據標籤,稱爲索引(Index):
咱們能夠經過values屬性和Index屬性分別得到Series對象的值和索引:
咱們能夠基於條件查找特定值:
它也能夠逐元素進行簡單運算:
咱們還能夠這樣做邏輯判斷:
咱們甚至能夠根據python字典快速生成一個Series對象:
咱們還能夠用一個列表對象當成參數傳給series對象看成索引(元素個數必須一致)
Series的索引能夠經過按位置賦值的方式進行改變:
二、Dataframe
Dataframe表示的是矩陣的數據表,它包含已排序的列集合,每一列能夠是不一樣的值類型,這跟咱們熟悉的excel工做表太像了,因此不少本來用Excel來做的數據分析就可使用Dataframe來處理,畢竟它的運算速度堪比數據庫sql語句,比通常的excel計算快很多。
咱們有多種方法去建立DataFrame,最經常使用的方法是利用包含等長度列表或Numpy數組的字典來生成DataFrame,產生的DataFrame會自動爲Series分配索引,而且列會按照排序的順序排列:
對於大型DataFrame,head方法將會只選出頭部的五行:
咱們能夠指定DataFrame的索引:
DataFrame中的一列,能夠將字典型標記或屬性那樣檢索爲Series:
咱們也能夠用df[字段名]表示法:
del方法能夠用於移除以前新建的列:
mark,後續會再記錄更多的pandas使用心得,並應用到實際的項目中!