Pandas實現簡單篩選數據功能


一、簡述

python的pandas庫可以輕松的處理excel中比較難實現的篩選功能,以下簡單的介紹幾種利用pandas實現篩選功能方式:

二、模塊介紹

pandas——專為解決數據分析與處理任務而創建的。

引入模塊:

  • import pandas as pd ,導入 pandas 包;
  • df=pd.read_excel('data.elsx',sheet_name=''sheet1"),加載 Excel 數據;
  • 指定文件路徑,由於文件在 Python 腳本同目錄,直接輸入文件名即可
  • sheet_name 指定讀取哪個工作表、也可以寫為sheet_name=0

三、樣例

3.1 簡單查詢

  1. 篩選出數據的指定幾行數據

    自定義函數變量data

data=df.loc[2:5] #這里的[2:5]表示第3行到第5行內容,[]第一個起始是0,表示數據的第一行
  1. 篩選出數據某列為某值的所有數據記錄
df['列名'] = '值'
  1. 多條件匹配時

    自定義函數data_many

 data_many=df[(df['列名1']== ‘列值1’)&(df['列名2']==‘列值2’)]
  1. 多值匹配時
 data_many="列名 in [‘值1’,‘值2’,......]"

是不是很像SQL的語句:select * from id where name in ('值1',‘值2’,‘值3’)

3.2 模式匹配

某列中開頭是某值,中間包含某值的模式匹配法,可能在Excel中實現比較困難,但是python就非常簡單了。

自定義函數獲取返回函數值——cond

  1. 開頭包含某值的模式匹配
cond=df['列名'].str.startswith('值')
  1. 中間包含某值的模式匹配
cond=df['列名'].str.contains('值')

3.3 范圍區間值篩選

篩選出基於兩個值之間的數據:

自定義函數cond

cond=df[(df['列名1']>‘列值1’)&(df['列名1']<‘列值2’)]

返回列名1介於列值1和列值2之間的數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM