今天我們來學習資料匯入,需要使用到Pandas模組。
模組相當於是一個資料夾,它能夠用於存放同個主題相關的Python程式碼段,包括定義函式、類和變數。
例如將資料處理相關的函式都存放在一個模組裡,將資料分析相關的函式都存放在一個模組裡,將資料視覺化相關的函式都存放在一個模組裡。這樣就可以在其他有需要的地方進行呼叫,在編寫程式的時候,經常需要引用其它模組。
你可以將Excel選單中的每個選項卡 看成是一個模組,例如資料選項卡下就包含了資料獲取和轉換、連線、排序和篩選、資料工具等功能。只是它以圖形介面的方式供我們選擇使用。
而Python中的模組一般看不見摸不著,需要在使用的時候進行匯入使用,所以對初學者來說不算太友好,這也是大家認為Python難學的原因之一。
另外Python中模組的概念,在 Java 中稱之為包(package),而在 C\C++中則稱之為庫(library),Java和C\C++都是程式設計師常用的程式語言,所以有些程式設計師就會把Python 中的模組混淆稱之為包和庫,你只要明白它們說的是一回事即可。
原來是這麼回事,那Pandas模組又是什麼?
Pandas模組是Python的一個數據分析模組,它最初被用作金融資料分析工具而開發出來,所以Pandas為時間序列分析提供了很好的支援。為了提供高效操作大型資料集的工具,Pandas提出了一套類似Excel的標準資料應用框架,包含了類似Excel表格的資料框DataFrame,以及快速便捷地處理資料的函式和方法,讓資料分析整個過程變得快速、簡單。可以毫不誇張地說,Pandas是Python中進行資料分析的最好工具。
Pandas模組怎麼使用呢?它在哪呢?
在安裝Anaconda的時候,都已經一起安裝好了,我們只需把它匯入就可以使用了,主要有兩種使用方法:
第一種是使用import語句進行匯入。
import 模組名
這是模組匯入最常使用的方法,模組匯入後,就可以透過使用 模組名。變數名呼叫模組中的變數,使用 模組名。函式名 呼叫模組中的函式。
第二種是使用 from import 語句進行匯入。
from 模組名 import 函式名
這種情況就是明 確知道要匯入哪個模組哪個函式或變數的時候使用。使用這種匯入的方式,在使用函 數或變數的時候,就不用在前面加上對應的模組名了。
那我們是不是可以匯入Pandas模組了?
可以,不過不用那麼急,我們先來看我們要匯入的資料data。csv,先使用Notepad++開啟檢視資料是什麼樣子的:
這份資料是一份使用者資料,記錄了使用者的id,註冊日期reg_date,使用者的身份證號id_num,性別gender,生日birthday,年齡age六個欄位資料,每個欄位使用英文逗號分隔。
還有一個很重要的資訊,就是這份資料採用UTF-8的編碼格式記錄資料。
UTF-8是網際網路上使用最廣的一種unicode的實現方式,為傳輸而設計的編碼,最大的特點是統一無國界,可以顯示全世界上所有文化的字元。
現在我們可以來匯入資料了,開啟spyder,輸入以下程式碼
我給程式碼加上對應的註釋,使用#來添加註釋,這樣解析器就不會執行註釋所在的行的內容。你再看看。
在變數瀏覽視窗中就可以看到剛匯入的data變量了,雙擊開啟data變數,就可以得到下面這張表。
匯入TXT與EXCEL資料檔案
首先是匯入TXT資料檔案,使用的是Pandas模組中的read_table函式,資料還是與昨天一樣,只是存為了TXT檔案。有了昨天CSV資料檔案的匯入經驗,匯入TXT資料檔案就輕車熟路了,開啟spyder,輸入以下程式碼
這個比匯入CSV檔案多了個引數SEP,是設定列分隔符的意思吧?
同樣我給程式碼加上對應的註釋,使用#來添加註釋,這樣解析器就不會執行註釋所在的行的內容。
在變數瀏覽視窗中就可以看到剛匯入的data變量了,雙擊開啟data變數,就可以得到下面這張表。
接下來是匯入EXCEL資料檔案,使用的是Pandas模組中的read_excel函式,輸入以下程式碼
在變數瀏覽視窗中就可以看到剛匯入的data變量了,雙擊開啟data變數,就可以得到下面這張表。
你發現沒有,id、age這兩列都有不同顏色標識。
因為這兩列資料型別為整數型,你看開啟的這個資料框最下面有一個 Background color選項被勾選上,這個功能相當於Excel條件格式中的色階功能,它僅對整數型、浮點型有效,對其他資料型別無效。
我們可以使用下列命令檢視下每列的資料型別
可以看到只有id、age是int64型,其他都是object型別
今天就到這,下次我們繼續學習其他操作,回去要多多練習,多敲程式碼。
最後多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python指令碼到web開發、爬蟲、資料分析、資料視覺化、機器學習等。想要這些資料的可以關注小編,並在後臺私信小編:“01”即可領取。