Я новичок в python и пытаюсь научиться анализу данных с ним. У меня есть кадр данных в python (называемый «data»). Я хочу перекодировать переменную GEND, которая имеет три значения (1, 2, 3). Используя pandas, я читаю в csv-файле, используя pd.read_csv(). Я пытаюсь заменить все экземпляры «3» в переменной GEND на отсутствие (NaN). Однако я не могу понять, как это сделать. До сих пор я пытался для цикла, который не показывает ошибку, но не изменяет переменную информацию:Замена значений в кадре данных в Python
for value in data.GEND:
if value == 3:
value = np.nan
Я также попытался это, который не показывает ошибку, но
data.GEND.loc[3] = np.nan
и это, который работает, но изменяет значение переменной ID для «3», но в остальном правильно изменяет значение «3» в переменной Gend к NaN:: также ничего не делает
data.GEND.replace(to_replace=3, value = nan)
Что мне здесь не хватает ? Я также хотел бы знать, как я могу сделать выше, но создать новый столбец в фрейме данных, который содержит новую информацию (поэтому я могу сохранить исходные значения, если я испортил).
Почему не мой начальный код "data.GEND.loc [3]" работать? –
Это заменяет третий 'loc' на' NaN', распечатывает, что 'df.GEND.loc [3]' есть, и вы должны увидеть, что он делает. – DTing
@ Daniel loc выполняет индексирование меток, поэтому возвращает только строку, где индекс равен '3' – EdChum