您好,登錄后才能下訂單哦!
在Pandas中,iloc
用于基于整數(shù)索引的行/列篩選,而多條件篩選通常使用布爾索引或query
方法
首先,我們創(chuàng)建一個示例DataFrame:
import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]}
df = pd.DataFrame(data)
# 篩選條件:A列的值大于2,B列的值小于40
condition1 = df['A'] > 2
condition2 = df['B'] < 40
# 使用布爾索引進(jìn)行篩選
result = df[condition1 & condition2]
print(result)
query
方法# 篩選條件:A列的值大于2,B列的值小于40
result = df.query('A > 2 and B < 40')
print(result)
這兩種方法都可以實現(xiàn)多條件篩選。如果你需要對結(jié)果進(jìn)行進(jìn)一步的操作,例如計算某列的和,可以在篩選后的DataFrame上進(jìn)行操作:
sum_of_column_c = result['C'].sum()
print(sum_of_column_c)
在大多數(shù)情況下,這兩種方法的性能相差不大。但是,當(dāng)處理大型數(shù)據(jù)集時,query
方法可能會更快,因為它在底層使用了NumExpr庫進(jìn)行加速。然而,這取決于具體的使用場景和數(shù)據(jù)類型,所以在實際應(yīng)用中,建議根據(jù)實際情況進(jìn)行測試和選擇。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。