如何在数据框的列中列出唯一的名称?

2024-09-30 05:18:25 发布

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

我想在Pfam_domains列中检索至少一次提到的所有名称

这是我的数据框:

           TCID       Fonction        Genbank Uniprot Pfam_domains
0     3.A.1.1.1           MalE           MalE  P0AEX9      PF00528
1     3.A.1.1.1           MalF           MalF  P02916      PF01547
2     3.A.1.1.1           MalG           MalG  P68183      PF00528
3     3.A.1.1.1           MalK           MalK  P68187      PF00005
4     3.A.1.1.1           MalK           MalK  P68187      PF17912
..          ...            ...            ...     ...          ...
178  3.A.1.5.32  LAC30SC_07295  LAC30SC_07295  F0TFS7      PF00528
179  3.A.1.5.32  LAC30SC_07300  LAC30SC_07300  F0TFS8      PF00528
180  3.A.1.5.32  LAC30SC_07305  LAC30SC_07305  F0TFS9      PF00005
181  3.A.1.5.32  LAC30SC_07305  LAC30SC_07305  F0TFS9      PF08352
182  3.A.1.5.32  LAC30SC_07310  LAC30SC_07310  F0TFT0      PF00005

这是我的代码:

for i in range(1, len(df)-1):
    unite=pd.unique(df['Pfam_domains'][i])

这里的问题是,我只列出所有域(所有域的所有实例)

以下是我想要的输出:

"PF00528"
"PF01547"
"PF00005"
...

Tags: 数据名称dfpfammaledomainspf01547malk
2条回答

首先,按升序对值计数进行排序:

df.Pfam_domains.value_counts().sort_values(ascending=False)

根据数据帧的定义,这将满足您对“至少提及一次”的值的请求。如果它们在数据帧中,则“至少一次”提到它们。如果您实际上要查找多次出现的值,那么这也是一个很好的起点

我相信这就是你要找的

unite = df['Pfam_domains'].unique()
unite.sort()

相关问题 更多 >

    热门问题