Pandas?篩選和刪除目標(biāo)值所在的行的實(shí)現(xiàn)
1.篩選出目標(biāo)值所在行
單列篩選
# df[列名].isin([目標(biāo)值])對當(dāng)前列中存在目標(biāo)值的行會返回True,不存在的返回False df[df[列名].isin([目標(biāo)值])]
練習(xí)案例
import pandas as pd df_bom_data = pd.DataFrame([['A123',1200,5], ['B456',550,2], ['C437',500,10], ['D112',621,7], ['E211',755,11], ['F985',833,8] ],columns=['Material','Price','Quantity']) df_material_shortage_data = pd.DataFrame([['A123','2022/6/21',100], ['B456','2022/6/22',120], ['C437','2022/6/23',250] ],columns=['Material','Schedule','LT']) # 篩選出df_bom_data表中只包含df_material_shortage_data表中Material的行記錄 df_bom_data = df_bom_data[df_bom_data['Material'].isin(df_material_shortage_data['Material'])]
df_bom_data
df_material_shortage_data
df_bom_data(處理后)
多列篩選
# 同時(shí)滿足用&連接,或的話用 | 連接 df[df[列名].isin([目標(biāo)值]) & df[列名].isin([目標(biāo)值])] df[df[列名].isin([目標(biāo)值]) | df[列名].isin([目標(biāo)值])]
練習(xí)案例
import pandas as pd df = pd.DataFrame([['L123','A',0], ['L456','A',1], ['L437','C',0], ['L112','B',1], ['L211','A',0], ['L985','B',1] ],columns=['Material','Level','Passing']) # 篩選出指定列都有目標(biāo)值的行 res1 = df[df['Level'].isin(['A','C']) & df['Passing'].isin([0])] # 篩選出至少有一列有目標(biāo)值的行 res2 = df[df['Level'].isin(['A','C']) | df['Passing'].isin([0])]
df
res1
res2
2.刪除目標(biāo)值所在的行
練習(xí)案例
import pandas as pd import numpy as np df_bom_data = pd.DataFrame([['A123',1200,5], ['B456',np.nan,np.nan], ['C437',500,10] ],columns=['Material','Price','Quantity']) df_material_shortage_data = pd.DataFrame([['A123','2022/6/21',100], ['B456','2022/6/22',120], ['C437','2022/6/23',250] ],columns=['Material','Schedule','LT']) # 篩選出df_bom_data中'Price'和'Quantity'兩列字段的值都為空(nans)的行 df_isnull_bom_data = df_bom_data[pd.isnull(df_bom_data[df_bom_data.columns.tolist()[1:]]).all(axis=1)] # df_material_shortage_data表刪除all_isnull_df_bom_data表中的Material df_material_shortage_data = df_material_shortage_data[~df_material_shortage_data['Material'].isin(df_isnull_bom_data['Material'])]
df_bom_data
df_material_shortage_data
df_isnull_bom_data
df_material_shortage_data(處理后)
擴(kuò)展補(bǔ)充案例:刪除列為指定值所在的行
import pandas as pd df = pd.DataFrame([[0,1,2,3], [4,5,6,7], [8,9,10,11] ],columns=['A','B','C','D']) # 通過重新取值,數(shù)據(jù)篩選后重新賦值,達(dá)到刪除列為指定值的行數(shù)據(jù) # 刪除A列中值為0的那一行記錄 df = df[df['A'] != 0]
df
df(處理后)
到此這篇關(guān)于Pandas 篩選和刪除目標(biāo)值所在的行的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas 篩選和刪除目標(biāo)值所在的行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python每5分鐘從kafka中提取數(shù)據(jù)的例子
今天小編就為大家分享一篇python每5分鐘從kafka中提取數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12pyqt5實(shí)現(xiàn)按鈕添加背景圖片以及背景圖片的切換方法
今天小編就為大家分享一篇pyqt5實(shí)現(xiàn)按鈕添加背景圖片以及背景圖片的切換方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06通過Python 獲取Android設(shè)備信息的輕量級框架
今天跟大家分享一下,如何通過Python實(shí)現(xiàn)一個(gè)輕量級的庫來獲取電腦上連接的Android設(shè)備信息,需要的朋友參考下吧2017-12-12Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密
這篇文章主要介紹了Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密,通過使用Python庫ItsDangerous,我們就可以高效快捷地完成數(shù)據(jù)加密/解密的過程,本文結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2022-11-11