如何在每个组中执行某些操作并使用pandas进行组合

问题描述 投票:0回答:1

我有一个df如:

    cluster_name    qseqid  sseqid  pident  length  qstart  qend
cluster_000001      seq1    YP_009416.1 57.4    61  0   182
cluster_000001      seq2    NP_592.1    24.1    349 68  1081
cluster_000002      seq4    YP_009695.1 25.7    249 0   725
cluster_000002      seq3    YP_009695.1 25.8    291 0   818
cluster_000003      seq8    YP_002675.1 25.8    291 0   818

在每个集群中,我想对sseqid的每个值做一些事情,换句话说,我应该是这样的:

for cluster in blast.groupby('cluster_name'): 
    for row in blast['sseqid']:
        print(row)
        print("ok")

然后结果应该是:

YP_009416.1
NP_592.1
ok
YP_009695.1
YP_009695.1
ok 
YP_002675.1

但它不起作用。

python pandas
1个回答
0
投票

尝试:

for _, cluster in blast.groupby('cluster_name'): 
    for row in cluster['sseqid']:
        print(row)
    print("ok")
© www.soinside.com 2019 - 2024. All rights reserved.