gpt4 book ai didi

python - Pandas:提取列名称与另一列中的行值匹配的列值

转载 作者:行者123 更新时间:2023-12-01 01:15:02 26 4
gpt4 key购买 nike

这看起来很简单,但它让我感到困惑。编码双关语。

我有一个具有以下格式的数据框:

 df = pd.DataFrame({"chrom":[12,12], 
"Pos":[112233,112234],
"ref_base":["A","G"],
"alt_base":["T","C"],
"A":[12,22],
"T":[3,34],
"G":[12,23],
"C":[22,21]},
index=[0,1])


chrom Pos ref_base alt_base A T G C
12 112233 A T 12 3 23 22
12 112234 G C 22 34 23 21

我需要找到一种方法来创建一个新列,其中包含 A、T、G 或 C 列中与 ref_base 列中的值匹配的值。

   chrom     Pos       ref_base  alt_base   A    T   G   C  ref_val
12 112233 A T 12 3 23 22 12
12 112234 G C 22 34 23 21 23

我最终想要做的是创建一个包含 (ref_val, alt_base_val) 元组的列,因此如果有比先创建各个列并加入它们更好的方法,我很高兴了解什么那是。

chrom     Pos       ref_base  alt_base      A    T   G   C      AD
12 112233 A T 12 3 23 22 (12,3)
12 112234 G C 22 34 23 21 (23,21)

最佳答案

使用查找

df['New']=tuple(zip(df.lookup(df.index,df.ref_base),df.lookup(df.index,df.alt_base)))
df
A C G Pos T alt_base chrom ref_base New
0 12 22 12 112233 3 T 12 A (12, 3)
1 22 21 23 112234 34 C 12 G (23, 21)

关于python - Pandas:提取列名称与另一列中的行值匹配的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54431653/

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