gpt4 book ai didi

python - python - 如何在python的csv文件中为每个基因保留x个最高人相关值的基因对?

转载 作者:行者123 更新时间:2023-12-03 21:13:48 25 4
gpt4 key购买 nike

我有一个 csv 文件,其中包含以下形式的数千行:

geneA geneB value
a b 5
a c 3
a d 7
b c 8
b d 1

我想为每个基因提取与其他基因最高值的两个最佳匹配。对于前一个例子,基因 a 和 b 的结果将是:
a d 7
a b 5
b c 8
b a 5

基于 answer我部分得到了我想要的结果,因为它不测试第一列和第二列,而只测试第一列。所以结果不正确,即它没有考虑行 a b 5当它检查 b 的最佳值时。

任何想法我能做什么?

最佳答案

您可以交换 geneA , geneB并连接到数据帧,然后按 value 排序并使用 groupby().head() :

total_df = pd.concat([df, df.rename(columns={'geneA':'geneB','geneB':'geneA'})])

(total_df.sort_values(['geneA','value'], ascending=[True,False])
.groupby('geneA').head(2)
)

输出:
  geneA geneB  value
2 a d 7
0 a b 5
3 b c 8
0 b a 5
3 c b 8
1 c a 3
2 d a 7
4 d b 1

关于python - python - 如何在python的csv文件中为每个基因保留x个最高人相关值的基因对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61912642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com