如何在DataFrame中选择具有多个值的行

2024-09-30 06:22:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个如下所示的数据帧:

    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”中有多个条目的行。 例如,在本例中,我希望数据框显示没有“6fxc”和“5myj”(单个条目)的行,但只显示多个PDB,如“5mrc;5mre;5mrf”

怎么做

这只是包含此类数据的巨大数据帧的一个片段,我需要以这种方式进行过滤


Tags: 数据目的pdbentrys5proteinribosome本例
2条回答

可以省略其PDB字段不包含;的行,如下所示:

df[df['PDB'].str.contains(';')]

可能您可以将某些内容与splitlen一起使用,然后对其进行过滤:

df[df['PDB'].str.split(';').str.len()>1]

在下面的注释中,您还可以尝试简单地计算;,如下所示:

df[df['PDB'].str.count(";")>0]

相关问题 更多 >

    热门问题