python pandas多條件篩選實現(xiàn)方式
更新時間:2025年09月02日 09:22:15 作者:AGMTI
用戶在使用pandas進行多條件篩選時發(fā)現(xiàn)無現(xiàn)成方法,自行編寫函數(shù)實現(xiàn),數(shù)據(jù)為虛構(gòu),供參考學習,鼓勵支持腳本之家
python pandas多條件篩選
我們在使用pandas操作表格時,通常會使用到篩選功能,但我在網(wǎng)上查找了很多資料,pandas貌似沒有相應(yīng)的方法,因此我自己寫了一個方法,
- 代碼為:
import pandas as pd
def df_screen(df,cd):
'''表篩選
df:pd.DataFrame
cd: {字段:[條件1,條件2],} 數(shù)據(jù)格式字典
'''
df_cy = df.copy()
idx_z = [ True for i in df_cy.index]
orcom = lambda a,b: [ any([a[i],b[i]]) for i in range(len(a))] # 列表a與列表b兩兩 或 比較
addcom = lambda a,b: [ all([a[i],b[i]]) for i in range(len(a))] # 列表a與列表b兩兩 與 比較
for z in cd:
if isinstance(cd[z],list):
for index,c in enumerate(cd[z]):
if index!=0:
idx_c = orcom(idx_c,list(df_cy[z] == c))
else:
idx_c = list(df_cy[z] == c)
else:
idx_c = list(df_cy[z] == cd[z])
idx_z = addcom(idx_z ,idx_c)
return df_cy.loc[idx_z,:]
數(shù)據(jù)準備
test = pd.DataFrame({'車型': ['皓影', '皓影', '皓影', '皓影', '皓影', '皓影', '皓影', '皓影', '皓影', '皓影', '本田CR-V', '本田CR-V', '本田CR-V', '本田CR-V', '本田CR-V', '本田CR-V', '本田CR-V', '本田CR-V'], '新能源類型': ['傳統(tǒng)燃料', '傳統(tǒng)燃料', '傳統(tǒng)燃料', '常規(guī)混合動力', '傳統(tǒng)燃料', '傳統(tǒng)燃料', '傳統(tǒng)燃料', '傳統(tǒng)燃料', '常規(guī)混合動力', '常規(guī)混合動力', '傳統(tǒng)燃料', '傳統(tǒng)燃料', '傳統(tǒng)燃料', '傳統(tǒng)燃料', '常規(guī)混合動力', '常規(guī)混合動力', '插電式混合動力', '插電式混合動力'], '銷量': [4, 176, 1, 35, 3, 1, 774, 38, 167, 17, 8, 1, 267, 3, 35, 3, 2, 1]})

函數(shù)調(diào)用
cd = {
"車型":["皓影","本田CR-V"], # 需要篩選的字段及篩選的內(nèi)容
"新能源類型":["傳統(tǒng)燃料","常規(guī)混合動力"]
}
df_screen(test,cd)
注意:數(shù)據(jù)為虛構(gòu)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
django 實現(xiàn)編寫控制登錄和訪問權(quán)限控制的中間件方法
今天小編就為大家分享一篇django 實現(xiàn)編寫控制登錄和訪問權(quán)限控制的中間件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python sitk.show()與imageJ結(jié)合使用常見的問題
這篇文章主要介紹了python sitk.show()與imageJ結(jié)合使用常見的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
python requests模擬登陸github的實現(xiàn)方法
這篇文章主要介紹了python requests模擬登陸github的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
python3使用Pillow、tesseract-ocr與pytesseract模塊的圖片識別的方法
這篇文章主要介紹了python3使用Pillow、tesseract-ocr與pytesseract模塊的圖片識別的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02

