![](/img/trans.png)
[英]How to select rows in Pandas dataframe where value appears more than once
[英]How to select rows with more than one value in Pandas DataFrame
我有一個 DataFrame,看起來像這樣:
Entry ribosome protein PDB
0 P46782 s5 4ug0;4v6x;5a2q;5aj0;5flx;5lks;5oa3;5t2c;5vyc;6...
1 P0A7W3 s5 5wf0;5wfs;6awb;6awc;6awd
2 A2RNN6 s5 5myj
3 Q5SHQ5 s5 1fjg;1fka;1hnw;1hnx;1hnz;1hr0;1i94;1i95;1i96;1...
4 Q2YYL4 s5 6fxc
5 A0QSG6 s5 5o5j;5o61;5xyu;5zeb;5zep;5zeu;6dzi;6dzk
6 P33759 s5 5mrc;5mre;5mrf`
我需要提取在“PDB”列中具有多個條目的行。 例如,在這種情況下,我希望 DataFrame 顯示沒有“6fxc”和“5myj”(單個條目)的行,但只有多個 PDB,如“5mrc;5mre;5mrf”。
怎么做?
這只是包含此類數據的巨大 dataframe 的一部分,我需要以這種方式進行過濾。
也許你可以使用split
和len
的東西然后過濾它:
df[df['PDB'].str.split(';').str.len()>1]
在評論之后,您也可以嘗試簡單地計數;
如下:
df[df['PDB'].str.count(";")>0]
您可以省略其PDB
字段不包含任何行;
像這樣:
df[df['PDB'].str.contains(';')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.