Python pandas如何根據(jù)指定條件篩選數(shù)據(jù)
pandas根據(jù)指定條件篩選數(shù)據(jù)
import pandas as pd import numpy as np df=pd.DataFrame(np.arange(16).reshape(4,4),columns=["sh","bj","sz","gz"],index=["one","two","three","four"])

1、篩選出"sh"列大于5的數(shù)據(jù)
法一:直接篩選
適用于一些比較簡(jiǎn)單直接的篩選,這種方式方便快捷。
df[df["sh"]>5]

法二:函數(shù)篩選
適用于比較復(fù)雜的條件篩選,函數(shù)除了可以使用lambda匿名函數(shù)以外,也可以使用其他邏輯更復(fù)雜的自定義函數(shù)。
df[df["sh"].map(lambda x:x>5)]

2、篩選出"sh"列為2或7的數(shù)據(jù)
法一:同上
df[df["sh"]==5]
法二:同上
df[df["sh"].map(lambda x:x==5)]
法三:使用isin()函數(shù),支持多值篩選
df[df["sh"].isin([5])]
3、模糊篩選
1)str.contains()函數(shù)
province = pd.DataFrame(['廣東', '廣西', '福建', '福建省'], columns=['省份'])
province.loc[province["省份"].str.contains("福")]#篩選出福建省數(shù)據(jù)

2)正則匹配
import re
province = pd.DataFrame(['廣東', '廣西', '福建', '福建省'], columns=['省份'])
#自定義函數(shù),如果包含“廣”字,則返回True,否則返回False
def func(x):
if re.search(".*廣.*",x):
return(True)
else:
return(False)
province[province["省份"].apply(func)]

3)切片
df=pd.DataFrame({"date":["2020efgdh0228","2021hijik0228","2019hokh0201"],"value":[9999,777,4]})
#篩選出2019年的數(shù)據(jù) df[df["date"].map(lambda x:x[0:4])=="2019"]

4、篩選重復(fù)值

df[df.duplicated(subset=["one"],keep="last")]#返回除最后一次出現(xiàn)的重復(fù)值

df[df.duplicated(subset=["one"],keep=False)]#返回所有重復(fù)值

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用QQ郵箱實(shí)現(xiàn)自動(dòng)發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了python使用QQ郵箱實(shí)現(xiàn)自動(dòng)發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入示例代碼詳解
這篇文章主要介紹了 Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
python萬年歷實(shí)現(xiàn)代碼 含運(yùn)行結(jié)果
這篇文章主要為大家詳細(xì)介紹了python萬年歷實(shí)現(xiàn)代碼,含運(yùn)行結(jié)果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
python對(duì)比兩個(gè)字典dict的差異詳解
這篇文章主要為大家詳細(xì)介紹了python?如何對(duì)比兩個(gè)字典dict的不同差異,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2023-05-05
在python中讀寫xlsx文件的實(shí)現(xiàn)方式
Python中可使用openpyxl或pandas讀寫XLSX文件,openpyxl適合處理格式及大型文件(支持read_only模式),pandas適用于數(shù)據(jù)操作與分塊讀?。ㄍㄟ^chunksize參數(shù)),兩者均可處理多工作表2025-07-07
對(duì)matplotlib改變colorbar位置和方向的方法詳解
今天小編就為大家分享一篇對(duì)matplotlib改變colorbar位置和方向的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python實(shí)現(xiàn)在目錄中查找指定文件的方法
這篇文章主要介紹了python實(shí)現(xiàn)在目錄中查找指定文件的方法,通過模糊查找與精確查找兩個(gè)實(shí)例較為詳細(xì)的闡述了文件查找的方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
python3 讀取Excel表格中的數(shù)據(jù)
這篇文章主要介紹了python3 讀取Excel表格中的數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2018-10-10
python散點(diǎn)圖雙軸設(shè)置坐標(biāo)軸刻度的實(shí)現(xiàn)
散點(diǎn)圖是一種常用的圖表類型,可以用來展示兩個(gè)變量之間的關(guān)系,本文主要介紹了python散點(diǎn)圖雙軸設(shè)置坐標(biāo)軸刻度的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01

