首页 > 解决方案 > 遍历 df 并用 dict 替换值

问题描述

我的情况与此示例类似。我有一个 5 行 5 列的熊猫数据框。

我在这个df中只有0和1:

示例数据框

我有一个字典告诉我,例如,如果第一列中的值为 0,则为“G”,如果值为 1,则为“A”,如下所示:

 dict = {0: {'0': 'G', '1': 'A'},
     1: {'0': 'G', '1': 'A'},
     2: {'0': 'T', '1': 'A'},
     3: {'0': 'G', '1': 'A'},
     4: {'0': 'A', '1': 'C'},
     5: {'0': 'C', '1': 'A'}}

那是我的问题.. 我如何迭代行和列以用我的 df 上的 dict 值替换为 0、1?

前两行的预期结果:

| A | A | A | A | A | A |
|:--|:--|:--|:--|:--|--:|
| G | G | T | G | A | C |

标签: pythonpandasdataframedictionaryreplace

解决方案


You can do this with replace:

>>> df.astype(str).replace(my_dict)

   0  1  2  3  4  5
0  A  A  A  A  A  A
1  G  G  T  G  A  C
2  G  G  T  G  A  C
3  G  G  T  G  A  A
4  A  A  A  A  A  C

As an aside, don't call your dictionary dict. I've used my_dict in my example.


推荐阅读