替换多个orverlapping值

时间:2018-09-11 03:56:56

标签: python python-3.x pandas scikit-learn

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

1 个答案:

答案 0 :(得分:1)

使用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