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):數據分析
阿里數據招人啦
「有層次、可發展」的門店數字化管理,是通往新零售的必經之路

TAG:Python | 數據分析 | 數據挖掘 |