【Python】聊聊Pandas的前世今生
本文將從Python生態、Pandas歷史背景、Pandas核心語法、Pandas學習資源四個方面去聊一聊Pandas,期望能帶給大家一點啟發。
一、Python生態里的Pandas
五月份TIOBE編程語言排行榜,Python追上Java又回到第二的位置。Python如此受歡迎一方面得益于它崇尚簡潔的編程哲學,另一方面是因為強大的第三方庫生態。
要說殺手級的庫,很難排出個先后順序,因為python的明星庫非常多,在各個領域都算得上出類拔萃。
比如web框架-Django、深度學習框架-TensorFlow、自然語言處理框架-NLTK、圖像處理庫-PIL、爬蟲庫-requests、圖形界面框架-PyQt、可視化庫-Matplotlib、科學計算庫-Numpy、數據分析庫-Pandas......
上面大部分庫我都用過,用的最多也最順手的是Pandas,可以說這是一個生態上最完整、功能上最強大、體驗上最便捷的數據分析庫,稱為編程界的Excel也不為過。
Pandas在Python數據科學鏈條中起著關鍵作用,處理數據十分方便,且連接Python與其它核心庫。
二、十項全能的Pandas
Pandas誕生于2008年,它的開發者是Wes McKinney,一個量化金融分析工程師。
因為疲于應付繁雜的財務數據,Wes McKinney便自學Python,并開發了Pandas。
大神就是這么任性,沒有,就創造。
為什么叫作Pandas,其實這是“Python data analysis”的簡寫,同時也衍生自計量經濟學術語“panel data”(面板數據)。
所以說Pandas的誕生是為了分析金融財務數據,當然現在它已經應用在各個領域了。
?2008: Pandas正式開發并發布?
2009:Pandas成為開源項目?
2012: 《利用Python進行數據分析》出版?
2015:?Pandas 成為 NumFOCUS 贊助的項目
?Pandas能做什么呢?
它可以幫助你任意探索數據,對數據進行讀取、導入、導出、連接、合并、分組、插入、拆分、透視、索引、切分、轉換等,以及可視化展示、復雜統計、數據庫交互、web爬取等。
同時Pandas還可以使用復雜的自定義函數處理數據,并與numpy、matplotlib、sklearn、pyspark、sklearn等眾多科學計算庫交互。
Pandas有一個偉大的目標,即成為任何語言中可用的最強大、最靈活的開源數據分析工具。
讓我們期待下。
三、Pandas核心語法
1. ?數據類型
Pandas的基本數據類型是dataframe和series兩種,也就是行和列的形式,dataframe是多行多列,series是單列多行。
如果在jupyter notebook里面使用pandas,那么數據展示的形式像excel表一樣,有行字段和列字段,還有值。
2. 讀取數據
pandas支持讀取和輸出多種數據類型,包括但不限于csv、txt、xlsx、json、html、sql、parquet、sas、spss、stata、hdf5
讀取一般通過read_*函數實現,輸出通過to_*函數實現。
imageimage3. 選擇數據子集
導入數據后,一般要對數據進行清洗,我們會選擇部分數據使用,也就是子集。
在pandas中選擇數據子集非常簡單,通過篩選行和列字段的值實現。
具體實現如下:
4. 數據可視化
不要以為pandas只是個數據處理工具,它還可以幫助你做可視化圖表,而且能高度集成matplotlib。
你可以用pandas的plot方法繪制散點圖、柱狀圖、折線圖等各種主流圖表。
5. 創建新列
有時需要通過函數轉化舊列創建一個新的字段列,pandas也能輕而易舉的實現
image6. 分組計算
在sql中會用到group by這個方法,用來對某個或多個列進行分組,計算其他列的統計值。
pandas也有這樣的功能,而且和sql的用法類似。
image7. 數據合并
數據處理中經常會遇到將多個表合并成一個表的情況,很多人會打開多個excel表,然后手動復制粘貼,這樣就很低效。
pandas提供了merge、join、concat等方法用來合并或連接多張表。
小結
pandas還有數以千計的強大函數,能實現各種騷操作。
python也還有數不勝數的寶藏庫,等著大家去探索
三、Pandas學習資源
如果說學習Pandas最好的教程是什么,那毫無疑問是官方文檔,從小白到高手,它都給你安排的妥妥的,這個后面詳細介紹。
下面我會從入門、進階、練習四個三面給你們推薦相應的教程和資源。
1. 入門教程
十分鐘入門Pandas(英文版)[1]
這是Pandas官網專門為新手寫的入門引導,大概就幾千字,包括對Pandas的簡要介紹,和一些基本的功能函數。
主要的內容有:數據的創建、查看、篩選、拼接、連接、分組、變形、可視化等等。
而且這個小冊子包含了很多代碼示例,如果你能完整過一遍,入門Pandas基本沒啥問題。
中文版似乎也有,但翻譯的準確性大家自己識別斟酌下。
十分鐘入門 Pandas | Pandas 中文[2]
利用Pandas進行數據分析[3]
這本書不用了說了,可能是你入門python數據分析的第一本書,它的作者是Pandas庫的核心開發者,也就是說這本書相當于是Pandas的官方出版教程。
image為什么它適合入門pandas,因為整本書的編排是從數據分析的角度切入的,由淺入深將pandas對數據的處理講的很透徹。
當然這本書也存在知識點過于零碎,翻譯不到位的問題,但整體來說是本好書。
w3schools pandas tutorial[4]
w3school的pandas文檔, 邏輯比較清晰,也是從數據分析角度去講pandas。
imageLearn Pandas Tutorials[5]
數據科學平臺kaggle提供的pandas入門教程,共六大節涵蓋了pandas數據處理各種方法。
imagejoyful-pandas[6]
國內小伙伴寫的Pandas筆記,挺詳細的,大家可以去下載項目里的notebook,放到自己電腦里練習。
2. 進階教程
pandas用戶指南[7]
這是pandas官網的教程,非常詳細,主要從數據處理的角度介紹相應的pandas函數,方便用戶查閱。
如果你的英文還不錯,也喜歡閱讀技術文檔,我是建議花時間把這份指南看一遍,配合練習。
我把整個pandas文檔下載下來,發現足足有3000多頁。
pandas api檢索[8]
官網的pandas api集合,也就是pandas所有函數方法的使用規則,是字典式的教程,建議多查查。
pandas-cookbook[9]
這是一個開源文檔,作者不光介紹了Pandas的基本語法,還給出了大量的數據案例,讓你在分析數據的過程中熟悉pandas各種操作。
Python Data Science Handbook[10]
數據科學書冊,不光有pandas,還有ipython、numpy、matplotlib、sklearn,這些都是深入學習pandas不可缺少的工具。
3. 練習資源
Pandas練習集[11]
github上一個練習項目,針對pandas每個功能都有對應的真實數據練習。
101個Pandas練習[12]
一位國外博主總結的100多個pandas練習題,非常全面。
datacamp[13]
數據科學教程網站,里面有大量pandas的練習題,還提供了詳細的速查表。
小結
pandas的教程主要還是以英文為主,國內翻譯的質量參差不齊,還是建議你在入門后多去看英文文檔,這是第一手資料,也是最靠譜的。
Reference
[1]
十分鐘入門Pandas(英文版):https://pandas.pydata.org/docs/user_guide/10min.html
[2]十分鐘入門 Pandas | Pandas 中文:http://www.pypandas.cn/docs/getting_started/10min.html
[3]利用Pandas進行數據分析:https://github.com/wesm/pydata-book
[4]w3schools pandas tutorial:https://www.w3schools.com/python/pandas/default.asp
[5]Learn Pandas Tutorials:https://www.kaggle.com/learn/pandas
[6]joyful-pandas:https://github.com/datawhalechina/joyful-pandas
[7]pandas用戶指南:https://pandas.pydata.org/docs/user_guide/index.html#user-guide
[8]pandas api檢索:https://pandas.pydata.org/docs/reference/index.html#api
[9]pandas-cookbook:https://github.com/jvns/pandas-cookbook
[10]Python Data Science Handbook:https://jakevdp.github.io/PythonDataScienceHandbook/
[11]Pandas練習集:https://github.com/guipsamora/pandas_exercises
[12]101個Pandas練習:https://www.machinelearningplus.com/python/101-pandas-exercises-python/
[13]datacamp:https://www.datacamp.com/community/tutorials
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【Python】聊聊Pandas的前世今生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么隐藏Windows11开始菜单中的推
- 下一篇: 最新系统之家系统win11 32位官方版