Python-用dict重新映射pandas列中的值

发布于 2021-02-02 23:23:26

我有一本字典,看起来像这样: di = {1: "A", 2: "B"}

我想将其应用于类似于以下内容的数据框的“ col1”列:

     col1   col2
0       w      a
1       1      2
2       2    NaN
要得到:

     col1   col2
0       w      a
1       A      2
2       B    NaN

我怎样才能最好地做到这一点?出于某种原因,与此相关的谷歌搜索术语仅向我显示了有关如何根据字典创建列的链接,反之亦然

关注者
0
被浏览
149
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    你可以使用.replace。例如:

    >>> df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}})
    >>> di = {1: "A", 2: "B"}
    >>> df
      col1 col2
    0    w    a
    1    1    2
    2    2  NaN
    >>> df.replace({"col1": di})
      col1 col2
    0    w    a
    1    A    2
    2    B  NaN
    

    或直接在上Series,即df["col1"].replace(di, inplace=True)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看