首页 > 解决方案 > 用熊猫中另一列中的相应值替换所有出现的某个值

问题描述

我有一个看起来像这样的大熊猫 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 中具有相应的条目。

最好的方法是什么?

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

标签: pythonpython-3.xpandas

解决方案


只需使用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

推荐阅读