簡體   English   中英

大熊貓:使用多個列值過濾行

[英]pandas: filter rows using more than one column values

我根據給定列的值過濾出數據框的某些行,如下所示:

new_df = my_df.loc[my_df['A_count'] == 0.0]

該代碼工作正常。 然后,我嘗試使用如下兩列中的值過濾掉行:

new_df = my_df.loc[my_df['A_count'] == 0.0 & my_df['B_count'] == 0.0 ]

然后代碼給了我錯誤:

TypeError: cannot compare a dtyped [float64] array with a scalar of type [bool]

我如何實際使用超過一列的值執行過濾器? 謝謝!

正如@root指出的那樣...

new_df = my_df.loc[(my_df['A_count'] == 0.0) & (my_df['B_count'] == 0.0)]

但是,您也可以使用query
我喜歡query因為它會自動為您過濾,並且查詢語法通常非常直觀。 請注意缺少括號。

my_df.query('A_count == 0 & B_count == 0')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM