Заменить значения на NaN - PullRequest
0 голосов
/ 13 мая 2019

У меня есть список индексов, следующим образом

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

Таким образом, я бы хотел полностью заменить индексы 3,5,6 на NaN.

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Передайте list в iloc и назначьте np.nan:

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

Если вы хотите изменить только столбцы v2 и v3, используйте loc:

df.loc[[3, 5, 6], ['v2', 'v3']] = np.nan
0 голосов
/ 13 мая 2019

Вы можете использовать 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
...