Python Pandas 快速插入列,快速篩選數據:強大到飛起的 eval 和 query 函數

在這裏插入圖片描述

引言

  在使用 Python 的 Pandas 庫處理數據時,我們時常需要添加一些新列,時不時添加一列也就算了,同時添加多列(毫無規律的,不使用循環)時是真的氣人,還有就是快速選擇符合條件的數據框有時也會成爲令人難受。

在這裏插入圖片描述



業務需求 & 效果實現

快到飛起的 eval()

在這裏插入圖片描述
筆者將效果實現分成了幾個版本

低端累到不能呼吸版
  最基礎的列操作了
在這裏插入圖片描述


中端客可喘氣版
  這個版本藉助了循環的幫助,省去了複製粘貼該改數字
在這裏插入圖片描述
已經快了很多
在這裏插入圖片描述


高端暢順呼吸版
  使用 eval 函數的同時藉助循環的幫助,這裏就只是展示 eval 的生成單列的用法。
在這裏插入圖片描述



同樣快到飛起的 query()

功能不多說,看圖說話即可,只展示 query 最常用的功能
在這裏插入圖片描述



總結

  兩個函數的簡單和最常見的用法不用說大家看圖也能夠理解,就是省去了打出文件名和中括號,藉助循環的力量,找出列索引的規律;在數據清洗/文件批處理中非常常見。

  這兩個相對來說冷門一些的函數不僅代碼量大大減少,而且在內存執行速度上也會更快;**從版本0.13開始,Pandas 包含了一下實驗性的工具允許你直接使用 C 速度操作,避免中間數組的浪費。這些工具是eval()和 query()函數,它們依賴 Numexpr包。**其實這只是這兩個函數的冰山一角,各種快捷騷操作還等待着我們去探索 Pandas,Numpy 的快捷函數太多了,所以鮮有人敢自稱自己精通 numpy pandas 或者只是其中一個庫(熊貓創始人曾在視頻中也對此感到無奈)。總的來說,替自己總是忘記快捷函數而感到擔憂是完全沒有必要的,只需牢記沒有最快,只有更快,想得起來就用想不起來就查。



後記

延伸閱讀

精彩回顧

  數據分析,商業實踐,數據可視化,網絡爬蟲,統計學,Excel,Word, 社會心理學,認知心理學,行爲科學,民族意志學 各種專欄後續瘋狂補充

  歡迎評論與私信交流!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章