日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Pandas條件篩選與組合篩選的使用_python

作者:Dusk2090 ? 更新時(shí)間: 2023-03-11 編程語(yǔ)言

在使用pandas進(jìn)行數(shù)據(jù)分析時(shí),經(jīng)常需要根據(jù)邏輯條件來(lái)篩選數(shù)據(jù)。

如果使用 for循環(huán)語(yǔ)句 遍歷的方式來(lái)查找,將十分耗時(shí)。

推薦使用pandas自身的功能函數(shù)進(jìn)行篩選,效率更高。

以下列出筆者常用的篩選方法。

條件篩選

根據(jù)具體值篩選

df[df['Num'] == 10]
df[df['Name'] == 'Tom']

找出df中值在具體列表中的數(shù)據(jù)

val_list = [100, 200, 300]
df[df['Num'].isin(val_list)]

篩選某列值長(zhǎng)度為固定值的數(shù)據(jù)

df[df['content'].str.len() == 10]

篩選某列是否為空的數(shù)據(jù)

# 找出content列為空的數(shù)據(jù)
df[df['content'].isna()]

# 找出content不為空的數(shù)據(jù)
df[~df['content'].isna()]

組合篩選

多條件同時(shí)滿足

# 找出df中A列值為100 且 B列值為‘a(chǎn)'的所有數(shù)據(jù)
df[(df['A']==100)&(df['B']=='a')]

多條件滿足其一即可

# 找出df中A列值為100或B列值為‘b'的所有數(shù)據(jù)
df[(df['A']==100)|(df['B']=='b')]

注:篩選后所得數(shù)據(jù)的索引一般是亂的,可使用 df = df.reset_index(drop=True) 的方式重置索引。

原文鏈接:https://blog.csdn.net/qq_41982466/article/details/124428138

欄目分類
最近更新