用熊猫中另一列的相应值替换某个值的所有出现

时间:2021-03-29 14:04:54

标签: python python-3.x pandas

我有一个大熊猫 DataFrame 看起来像这样:

   a  b   c   1    2    3    4  ...

1  1 200  A  T/T  C/C  ./.  A/A ...

2  1 258  C  ./.  C/C  T/T  A/A ...

3  1 400  G  G/G  C/G  ./.  ./. ...
...

我想替换“./.”的每个实例在 c 列中具有相应条目的任何编号列中。

最好的方法是什么?

我知道它可以通过迭代每一行来解决,但是有没有“更好”、更快的解决方案?

1 个答案:

答案 0 :(得分:1)

只需使用 apply() 方法:-

df=df.apply(lambda x:x.replace('./.',x['c']),axis=1)

现在,如果您打印 df,您将获得所需的输出:

    a   b       c   1        2      3       4
1   1   200     A   T/T     C/C     A      A/A
2   1   258     C   C       C/C     T/T    A/A
3   1   400     G   G/G     C/G     G      G
相关问题