我有一个索引列表,如下所示
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。
答案 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
如果您只想修改v2
和v3
列,请使用loc
:
df.loc[[3, 5, 6], ['v2', 'v3']] = np.nan