[英]Drop pandas rows if value is not between two other values on the same column
[英]Drop rows that have same values as column names in Pandas
我想要刪除與 Pandas 中的列名具有相同值的行。 我正在考慮制作我的 dataframe 的嵌套數組,並在該數組中循環並檢查嵌套數組是否與我的 df.columns 相同。 但也許有一些更快的方法?
df = pd.DataFrame({"ColA":[1,3,"ColA",1],
"ColB":[5,1,"ColB",2],
"ColC":[1,5,"ColC",2]})
print(df)
ColA ColB ColC
0 1 5 1
1 3 1 5
2 ColA ColB ColC
3 1 2 2
我的結果應該是這樣的:
ColA ColB ColC
0 1 5 1
1 3 1 5
3 1 2 2
應刪除第 2 行
您可以傳遞eq
,帶有any
(任何單元格包含列名稱)或all
(每個單元格的所有單元格都包含列名稱)
df[~df.eq(df.columns).any(1)]
ColA ColB ColC
0 1 5 1
1 3 1 5
3 1 2 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.