我有以下数据框:
import pandas as pd
import numpy as np
raw_data = {
'Score1': [42, 52, -999, 24, 73],
'Score2': [-999, -999, -999, 2, 1],
'Score3': [2, 2, -999, 2, -999]}
df = pd.DataFrame(raw_data, columns = ['Score1', 'Score2', 'Score3'])
我希望能够在Score2和Score3列中将-999替换为NaN,同时保留Score1列不变。我想通过列名来引用需要修改的列,这些列可能不是连续的。
我已尝试过以下方法:
df.loc[:,('Score2', 'Score3')].replace(-999, np.nan, inplace=True)
df
但这样做不起作用,我认为是因为它在副本上操作。有没有一种方法可以在一个语句中完成这个操作?
我看了一下Pandas替换特定列上的值,但觉得很困惑,所以觉得一个更简单的例子会有帮助。