0
我一次遍歷Pandas中的一個數據幀。我正在檢查該行是否符合某些條件。然後,我想放棄該行。我怎樣才能做到這一點?在熊貓中刪除行
我一次遍歷Pandas中的一個數據幀。我正在檢查該行是否符合某些條件。然後,我想放棄該行。我怎樣才能做到這一點?在熊貓中刪除行
這取決於你的標準是否保留它,一個簡單的方法是創建一個測試功能:
In [11]: def keep_row(row):
return True # you may want to make this stricter...
In [12]: df.apply(keep_row, axis=1)
然後,你可以只保留那些好行:
In [13]: df = df[df.apply(keep_row, axis=1)]
它可能會更快,如果你可以找出某種方法來向量化(使用numpy來描述)保持行的條件,但很難說明沒有具體的例子。
熊貓的第一條規則是,如果你迭代行,你可能做錯了。要刪除滿足條件的行,只需選擇不符合條件的行,例如你想刪除列A ==「rrr」的行:
df = df[df.A!="rrr"]
有沒有一種方法,我可以在函數中傳遞我想要的值?假設我有一個包含列A,B和C的數據框,並且我想使用一個使用兩列A和B的函數。 – user1867185
編輯您的原始問題以包含您想到的示例。包含樣本數據和預期輸出的獎勵點數。你的問題的答案是肯定的,但沒有一個例子就難以解釋。 – TomAugspurger
@ user1867185是的,只需使用行['A'],行['B']等在函數內抓取它們 –