[英]if column a == value, drop rows where column b equals
我試圖在我的 df 中刪除 SPCD == 104 的行,在 Age >= 950 的位置刪除行,出於某種原因,我一輩子都不知道該怎么做。
dropped_ages = d_age[ (d_age['SPCD'] == 104) & (d_age['Age'] >= 950) ]
這是我試過的一行代碼,但它最終刪除了 SPCD 104 的每個條目。我嘗試使用 <= 和 >= 都得到了同樣的結果。
所以最初的 df 可能看起來像:
SPCD Age
0 104 1100
1 104 300
2 104 950
3 133 200
4 104 400
5 133 100
6 104 1000
我想看到的是:
SPCD Age
0 104 300
1 104 950
2 133 200
3 104 400
4 133 100
否定你的條件:
d_age[(d_age["SPCD"] != 104) | (d_age["Age"] < 950)]
這輸出:
SPCD Age
1 104 300
3 133 200
4 104 400
5 133 100
您期望的 output:
我想看到的是:
>>> d_age[ ((d_age['SPCD'] == 104) & (d_age['Age'] <= 950)) | (d_age['Age'] <= 950) ]
SPCD Age
1 104 300
2 104 950
3 133 200
4 104 400
5 133 100
你解釋什么:
我試圖在我的 df 中刪除 SPCD == 104 的行,在 Age >= 950 的位置刪除行,出於某種原因,我一輩子都不知道該怎么做。
>>> d_age[ (d_age['SPCD'] != 104) | (d_age['Age'] < 950) ]
SPCD Age
1 104 300
3 133 200
4 104 400
5 133 100
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.