Pandas?篩選和刪除目標值所在的行的實現(xiàn)
1.篩選出目標值所在行
單列篩選
# df[列名].isin([目標值])對當前列中存在目標值的行會返回True,不存在的返回False df[df[列名].isin([目標值])]
練習案例
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(處理后)

多列篩選
# 同時滿足用&連接,或的話用 | 連接 df[df[列名].isin([目標值]) & df[列名].isin([目標值])] df[df[列名].isin([目標值]) | df[列名].isin([目標值])]
練習案例
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'])
# 篩選出指定列都有目標值的行
res1 = df[df['Level'].isin(['A','C']) & df['Passing'].isin([0])]
# 篩選出至少有一列有目標值的行
res2 = df[df['Level'].isin(['A','C']) | df['Passing'].isin([0])]df

res1

res2

2.刪除目標值所在的行
練習案例
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(處理后)

擴展補充案例:刪除列為指定值所在的行
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ù)篩選后重新賦值,達到刪除列為指定值的行數(shù)據(jù)
# 刪除A列中值為0的那一行記錄
df = df[df['A'] != 0]df

df(處理后)

到此這篇關(guān)于Pandas 篩選和刪除目標值所在的行的實現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas 篩選和刪除目標值所在的行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)改變與矩形橡膠的線條的顏色代碼示例
這篇文章主要介紹了Python實現(xiàn)改變與矩形橡膠的線條的顏色代碼示例,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
python pycharm最新版本激活碼(永久有效)附python安裝教程
PyCharm是一個多功能的集成開發(fā)環(huán)境,只需要在pycharm中創(chuàng)建python file就運行python,并且pycharm內(nèi)置完備的功能,這篇文章給大家介紹python pycharm激活碼最新版,需要的朋友跟隨小編一起看看吧2020-01-01
Pytorch之8層神經(jīng)網(wǎng)絡(luò)實現(xiàn)Cifar-10圖像分類驗證集準確率94.71%
這篇文章主要介紹了Pytorch之8層神經(jīng)網(wǎng)絡(luò)實現(xiàn)Cifar-10圖像分類驗證集準確率94.71%問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
Python爬蟲獲取全網(wǎng)招聘數(shù)據(jù)實現(xiàn)可視化分析示例詳解
這篇文章主要介紹了Python爬蟲獲取全網(wǎng)招聘數(shù)據(jù)實現(xiàn)可視化分析示例詳解,實現(xiàn)采集一下最新的qcwu招聘數(shù)據(jù),本文列舉了部分代碼以及實現(xiàn)思路,需要的朋友可以參考下2023-07-07
Python中Collections模塊的Counter容器類使用教程
Counter是Python標準庫提供的一個非常有用的容器,可以用來對序列中出現(xiàn)的各個元素進行計數(shù),下面就來一起看一下Python中Collections模塊的Counter容器類使用教程2016-05-05
Python增量循環(huán)刪除MySQL表數(shù)據(jù)的方法
這篇文章主要介紹了Python增量循環(huán)刪除MySQL表數(shù)據(jù)的相關(guān)資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
Python編程ContextManager上下文管理器講解
這篇文章主要介紹了Python編程中對Context Manager上下文管理器的詳解說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-09-09

