从具有相同值的多行获取相关性(Python)

2024-09-29 21:48:57 发布

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

所以我正在编写一个脚本来比较数据,我需要关联收集到的数据。数据框由一列基因组成,这些基因与其他基因进行比较以得到重复的基因。我需要有相同重复基因的基因之间的关联。你知道吗

示例数据: Index Gene Duplicate of Value1 Value2 Value3 Etc. 0 Gene1 DGene1 0.1 14 13 .. 1 Gene14 DGene1 0 13 17 .. 2 Gene4 DGene3 20 0 0 .. 3 Gene90 DGene3 25 0 10 .. 4 Gene22 DGene31 0 10 0 .. 5 Gene40 DGene31 10 0.5 0 .. 6 Gene130 DGene31 10 1 0 .. 7 Gene600 DGene31 12 0 0 ..

在上面的例子中,我想要三个相关性:基因Gene1和Gene14中的一个,基因Gene4和Gene90中的一个,最后是Gene22、Gene40、Gene130和Gene600中的一个。相关性将存在于这些行的所有值(Value1等)之外。你知道吗

我试图将数据按的副本分组(CGENE是的副本)

df_com2.groupby(CGENE).apply(lambda x: x.index.tolist())

但我找不到一种方法,在这样做之后,从相应的基因中选择所有的值。你知道吗

任何帮助都将不胜感激!你知道吗


Tags: 数据基因副本value1gene1gene4dgene3gene40
1条回答
网友
1楼 · 发布于 2024-09-29 21:48:57

目前还不完全清楚您在groupby中寻找什么,但我怀疑您正在寻找.agg来聚合字段。你知道吗

例如,这将给出一个以逗号分隔的基因列表,以及Value1的平均值:

In [26]: df
Out[26]:
   Index     Gene Duplicate_of  Value1  Value2  Value3 Etc.
0      0    Gene1       DGene1     0.1    14.0      13   ..
1      1   Gene14       DGene1     0.0    13.0      17   ..
2      2    Gene4       DGene3    20.0     0.0       0   ..
3      3   Gene90       DGene3    25.0     0.0      10   ..
4      4   Gene22      DGene31     0.0    10.0       0   ..
5      5   Gene40      DGene31    10.0     0.5       0   ..
6      6  Gene130      DGene31    10.0     1.0       0   ..
7      7  Gene600      DGene31    12.0     0.0       0   ..

In [27]: df.groupby("Duplicate_of").agg({'Gene': ', '.join, 'Value1': np.mean})
Out[27]:
                                          Gene  Value1
Duplicate_of
DGene1                           Gene1, Gene14    0.05
DGene3                           Gene4, Gene90   22.50
DGene31       Gene22, Gene40, Gene130, Gene600    8.00

相关问题 更多 >

    热门问题