Python 數據分析(一):常見數據結構的使用
如何解決開發環境
因為用 Python 做數據分析時需要用到大量的科學工具包,所以這裡推薦使用 Anaconda ,它整合了很多科學工具,避免了我們自己一個個下載各種科學工具的麻煩。可以在這裡下載:Home 。安裝好後 Anaconda 自帶了一個 IDE 叫 Spyder,你可以直接用這個編寫代碼,你也可以和我一樣使用 PyCharm 。
Python 中有一個很強大的數據分析包,叫 pandas ( Python Data Analysis Library ),它是基於 NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。
在 Pandas 中有兩種常見的數據結構:Series 和 DataFrame 。
學習這些數據結構可以從這幾個方面入手:
1,概念:什麼是數據結構;
2,定義:如何定義數據結構;
3,限制:使用這種數據結構有什麼限制;
4,訪問:訪問這種數據結構的方式是什麼樣的;
5,修改:如何對這種數據結構進行增刪改;
一、首先看什麼是 Series
Series 是用於存儲一行或者一列的數據,以及與之相關的索引的集合。
打開 Jupyter Notebook , 首先需要從 pandas 中導入 Series 包,如下所示:
通過默認的索引和指定的索引來獲取 Series 中的數據,注意默認索引從 0 開始:
因為 x 的長度是3 ,所以當你用 x[3] 來訪問第四個元素的時候,編輯器會報錯:index out of bounds .
注意往 Series 中追加數據的時候,不能用如下的方式,因為 Series 的 append 方法只能用來往一個 Series 中追加一個新的 Series:
下面的使用才是正確的,創建一個新的 Series y,然後向 x 追加 y:
但是仍然需要注意的是,append 的方法並不會改變 x 的值,append 過後生產了一個新的 Series,如果需要改變 x 的值,我們需要將 append 後的 Series 重新賦值給 x, 如下所示:
我們可以通過以下方式來判斷 Series 是否包含某個值,注意第一種用法是錯誤的,我們需要使用 2 in x.values 來判斷:
接下來我們看下 Series 的切片,切片的使用如下,x[1:3] 表示將索引 1 到 3 上的數據切出來,注意不包括索引 3 上的值:
如果我們需要隨機抽樣,可以指定索引切出所要的數據,比如這樣,我們切出了索引 0 和 2上的數據 :
下面看看怎麼根據索引值來刪除數據:
我們還能根據位置來刪除,比如:
二、再來看看 DataFrame
DataFrame 是用於存儲多行和多列的數據集合,可以理解成 Excel 表格,下面來看看使用方法。
同樣的,先導入相應的包。如果不指定索引,創建 DataFrame 的時候就會默認從 0 開始,0,1,2,3...依次類推。
當然,我們也可以為 DataFrame 指定索引,比如下面這樣:
按列訪問:
按行訪問,注意這樣的寫法是獲取第二行的數據,不能獲取第三行的數據:
按行索引訪問,使用 loc 方法:
按行列號訪問:
精準定位:
修改列名:
修改行索引:
刪除數據,通過參數 axis 來確定是刪除行還是刪除列,axis = 0 表示刪除行,1 表示刪除列,如過不指定 axis 的值,則默認是 0 。演示如下:
增加行的操作:
增加列的操作:
以上就是 Pandas 中常見的數據結構的操作,下一章節涉及到向量計算。
推薦閱讀:
※初識Python
※第一次製作數據報告
※數據篇(1):數據分析
※阿里數據招人啦
※「有層次、可發展」的門店數字化管理,是通往新零售的必經之路