Как удалить "?" Из поля фрейма данных python

Sonia спросил: 28 апреля 2018 в 09:46 в: python

У меня есть фрейм данных python с именем data. В этом фрейме данных одно поле price с типом данных object. Кадр данных содержит отсутствующее значение в разных полях & Отсутствуют значения "?". Я хочу заменить это недостающее значение. Я думал заменить "?" на "NaN" & затем примените fillna(). Поэтому я написал этот код

data.replace('?','NaN')

Но после выполнения этого кода я все равно получаю"?" в то время как я пишу ниже строки

data['price'].max()

Можете ли вы предложить мне, что является правильным способом? Я использую python 3.6 в Windows 10


2 ответа

Есть решение
Rakesh ответил: 28 апреля 2018 в 10:41

Попробуйте использовать np.nan

Пример:

import pandas as pd
import numpy as np
data = pd.DataFrame({"price": ["?", "Hello", "?", "World"]})
data["price"].replace('?',np.nan, inplace=True)
print(data.fillna(0))

Выход:

   price
0      0
1  Hello
2      0
3  World
NZ_DJ ответил: 28 апреля 2018 в 10:09

Попробуйте использовать inplace=True, чтобы сохранить изменения в исходном фрейме.

data.replace('?','NaN', inplace=True)