我有一个如下所示的字典: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
我怎样才能最好地做到这一点?出于某种原因,与此相关的谷歌搜索术语仅向我显示有关如何从 dicts 制作列的链接,反之亦然:-/
最佳答案
您可以使用 .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 列中的值,保留 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250771/