【问题标题】:How to select rows with more than one value in Pandas DataFrame如何在 Pandas DataFrame 中选择具有多个值的行
【发布时间】:2020-09-01 15:21:41
【问题描述】:

我有一个如下所示的 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”。

怎么做?

这只是包含此类数据的巨大数据框的一部分,我需要以这种方式过滤。

【问题讨论】:

    标签: python pandas dataframe jupyter-notebook


    【解决方案1】:

    也许你可以使用 splitlen 的东西,然后过滤它:

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

    以下评论,您也可以尝试简单地计算;如下:

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

    【讨论】:

      【解决方案2】:

      您可以像这样省略PDB 字段不包含; 的行:

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

      【讨论】:

        猜你喜欢
        • 2018-01-17
        • 2023-03-21
        • 2014-04-24
        • 1970-01-01
        • 2015-10-15
        • 2023-02-21
        • 2012-12-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多