簡體   English   中英

刪除與 Pandas 中的列名具有相同值的行

[英]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.

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