Я пытался заменить пустую строку с np.nan
Заменить пустую строку с с np.nan, но получили «NaN»
Но я None
в клетках, то, что случилось с этим?
Благодаря
df.replace('', np.nan)
Я пытался заменить пустую строку с np.nan
Заменить пустую строку с с np.nan, но получили «NaN»
Но я None
в клетках, то, что случилось с этим?
Благодаря
df.replace('', np.nan)
Там должны быть проблемы с вашими данными, а не с пандами. См сильфонные пример:
>>> data = [['a', 'b', ''], ['', 'e', 'f']]
>>> df = pd.DataFrame(data)
>>> df
0 1 2
0 a b
1 e f
Если вы пытаетесь заменить ''
с np.nan
в приведенном выше примере, вы получите желаемый результат:
>>> df.replace('', np.nan)
0 1 2
0 a b NaN
1 NaN e f
Однако, если случайно не был правильно указан Ваши данные :
>>> data = [['a', 'b', None], [None, 'e', 'f']]
>>> df = pd.DataFrame(data)
>>> df
0 1 2
0 a b None
1 None e f
pandas
не может помочь, так как ваши данные не содержат пустые строки, но не указанных значений (None
):
>>> df.replace('', np.nan)
0 1 2
0 a b None
1 None e f
Однако, есть еще шанс, что вы можете удалить None
S из таблицы. Далее, так же глупо, как это звучит, должно работать:
>>> df.replace(np.nan, np.nan)
0 1 2
0 a b NaN
1 NaN e f
Трудно сказать, не имея сырые данные, но надеюсь, что выше помогает.
Ваше имя говорит, что вы получаете «NaN»? (что и есть ожидаемая вещь). Но можете ли вы показать воспроизводимый пример? (Http://stackoverflow.com/help/mcve) – joris