用NaN替换值

时间:2019-05-13 02:29:32

标签: python replace nan

我有一个索引列表,如下所示

indeces_to_replace= [3,5,6]

,我想用NaN值替换数据集中这些索引(行)中的所有值。有人可以指导我吗?

数据集如下所示:

i     v1     v2       v3
0      3     6         8
1      5     7         10
2      12    11        8
3      14    13        3
4      12    2         4 
5      12    13        32
6      11    9         11
7      9     8         7

所以基本上我想用NaN完全替换索引3、5、6。

2 个答案:

答案 0 :(得分:0)

您可以使用 iloc 选择一行,然后替换值。例如:

data = {'v1': [3,5,12], 'v2': [6,7,11], 'v3':[8,10,8]}
df = pd.DataFrame(data)

   v1  v2  v3
0   3   6   8
1   5   7  10
2  12  11   8

结果

df.iloc[1] = np.nan

     v1    v2   v3
0   3.0   6.0  8.0
1   NaN   NaN  NaN
2  12.0  11.0  8.0

编辑

df.iloc[:, 1:] = np.nan

   v1  v2  v3
0   3 NaN NaN
1   5 NaN NaN
2  12 NaN NaN

答案 1 :(得分:0)

list传递到iloc并分配给np.nan

df.iloc[[3, 5, 6]] = np.nan

如果您只想修改v2v3列,请使用loc

df.loc[[3, 5, 6], ['v2', 'v3']] = np.nan