python pandas輕松通過特定列的值多條件去篩選數(shù)據(jù)及contains方法的使用
更新時間:2024年02月02日 10:10:19 作者:達達愛吃肉
這篇文章主要介紹了python pandas輕松通過特定列的值多條件去篩選數(shù)據(jù)及contains方法的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
pandas 輕松篩選數(shù)據(jù)
通過特定列的值去篩選
import pandas as pd import numpy as np a=np.array([['北京','北方','一線','非沿海'],['杭州','南方','二線','非沿海'],['深圳','南方','一線','沿海'],['煙臺','北方','三線','沿海']]) df1=pd.DataFrame(a,index=[1,2,3,4],columns=['城市','地理','級別','是否沿海']) print(df1) df2=df1.copy()
我們先來篩選初來所有的一線二二線城市
df1[(df1['級別'].isin (['一線','二線']))]
相同,如果我們取反的話就可以篩選出不在一線和二線城市的記錄
多條件去
df1[((df1['級別'].isin (['一線','二線']))&(df1['是否沿海'].isin(['沿海'])))]
這樣就可以輕松的選擇特定行數(shù)據(jù)了,如果是要刪除特定行,只需要取反就可以了
df1[~((df1['級別'].isin (['一線','二線']))&(df1['是否沿海'].isin(['沿海'])))]
這就等于是刪除了特定行
通過contains對數(shù)據(jù)進行篩選
比如我們去篩選級別在一線和二線的城市信息
df1[df1['級別'].str.contains("一線|二線",na=False)]
同樣我們可以通過取反把在一線二線城市的信息全部篩選掉:
至于多條件就可以使用上述同樣的方法
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解決在Python編輯器pycharm中程序run正常debug錯誤的問題
今天小編就為大家分享一篇解決在Python編輯器pycharm中程序run正常debug錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Django 導出項目依賴庫到 requirements.txt過程解析
這篇文章主要介紹了Django 導出項目依賴庫到 requirements.txt過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08