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

我有一本字典,看起来像这样: 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

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

回答:

你可以使用.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)

以上是 Python-用dict重新映射pandas列中的值 的全部内容, 来源链接: utcz.com/qa/424430.html

回到顶部