首页 > 解决方案 > 替换多个或重叠的值

问题描述

我有一个包含 column 的数据框'demo'。此列包含诸如 20、30、40、50 之类的值。我想用 30 替换 20,用 20 替换 30。其他值保持不变。如何使用 pandas 或 scikit-learn 做到这一点。

标签: pythonpython-3.xpandasscikit-learn

解决方案


使用pandas,特别是replace函数。您可以将多个值的字典传递给它以进行替换,其中字典中的键被值替换。

df['demo'].replace({20:30, 30:20}, inplace=True)

示例

>>> df = pd.DataFrame({'demo':[20,30,40,50,20,30,30,20]})

>>> df
   demo
0    20
1    30
2    40
3    50
4    20
5    30
6    30
7    20

>>> df['demo'].replace({20:30, 30:20}, inplace=True)
>>> df
   demo
0    30
1    20
2    40
3    50
4    30
5    20
6    20
7    30

推荐阅读