根据声明

时间:2019-07-30 11:41:56

标签: python pandas dataframe

DF示例(400k行):

NameID      Name      SNP      Sequence      Chromosome      positionOnChorm
AR1         AR1A      A/G     AVDJFJDSKFJVN      1              231231
AR2         AR1B      A/G     AVDJFJDSKFJVN      1              231231
BAR         BA1B      A/T     FFSJJSAJASDND      2              312333
BAR2        BA1B      A/T     FFSJAAAAACDDD      2              312333
AR3         AR1C      A/G     AVDJFJDSKFJVN      1              231231
CAR7        CAR1V     T/G     WEEEEEEEEEEEE      4              778787
...

在DF中是基因。我需要根据这种情况将其分为两个结果数据帧: (对我来说,最重要的是名称,但对于数据也是如此。)

I。检查染色体和positionOnChorm。如果它是重复的(在AR示例中将是3个重复的基因),我需要确认检查SEQUENCE。如果相同,我可以删除重复的,保留第一个基因并将其放入finalDF

如果染色体和位置相同但序列不同-我需要将它们全部放入DuplDF

如果只是染色体/位置的一个相同组合:应将其移至finalDF

因此,基于示例:

finalDF应该是:

NameID      Name      SNP      Sequence      Chromosome      positionOnChorm

AR1         AR1A      A/G     AVDJFJDSKFJVN      1              231231
CAR7        CAR1V     T/G     WEEEEEEEEEEEE      4              778787

DuplDF应该是:

BAR         BA1B      A/T     FFSJJSAJASDND      2              312333
BAR2        BA1B      A/T     FFSJAAAAACDDD      2              312333

所以我有了这个主意:

  1. 我通过value_counts创建了一个职位列表,并尝试通过if语句对其进行过滤。但是在清单中,我没有染色体。那是另一个染色体上重要的coz基因,可以位于同一位置,也可以是不同的基因。 第二个问题-是时候采取解决方案了。即使我会同时使用染色体和位置正确地建立一个陈述-处理一个DF也会花费数小时。

  2. 我曾经尝试过以不同的方式进行合并,但老实说,我不知道如何创建适合自己的情况。

  3. 我从理论上考虑将我的基因聚集在一起,然后在tempDF中对其进行处理,但是我不知道这是否有可能简单地实现。我发现group_by,但在文档中我读到它仅适用于一个col?

有人可以给我建议如何有效解决我的问题吗?

0 个答案:

没有答案