Невозможно получить dataframe.['col1].median(), чтобы игнорировать нули ⇐ Python

Программы на Python
Anonymous
Невозможно получить dataframe.['col1].median(), чтобы игнорировать нули

Сообщение Anonymous »

У меня есть кадр данных pandas df1 со столбцом «рейтинг». Мне нужна медиана этого столбца. Столбец содержит строку «Не задано» для отсутствующих значений. Я заменил значения «Не задано» на Numpy np.nan и None, используя строку:

Код: Выделить всё

df1.loc[df1['rating'] == 'Not given', 'rating'] = np.nan
ИЛИ

Код: Выделить всё

df1.loc[df1['rating'] == 'Not given', 'rating'] = None
и проверил результаты. Затем попытался получить медиану df1['rating'], используя эту строку:

Код: Выделить всё

mrat_y =df1['rating'].median( skipna = True)
При использовании любой замены null я получаю сообщение об ошибке:

Код: Выделить всё

  File "C:\Users\fnaso\PycharmProjects\pythonProject\.venv\Lib\site-packages\pandas\core\nanops.py", line 787, in nanmedian
raise TypeError(f"Cannot convert {values} to numeric")
TypeError: Cannot convert [nan nan '5' ... nan '5' nan] to numeric
Я использую редакцию сообщества Pycharm с последней версией Python.
Поэтому либо замены недействительны, либо значения NULL или медиана (skipna = True)< /code> работает так, как я ожидаю, или (скорее всего) я что-то упускаю из-за моего новичка в заднице.
Это работает с W3Schools_Tryit_Editor.
Я ожидал найти медиану столбца фрейма данных panda со значениями float8 и Null.

Подробнее здесь: https://stackoverflow.com/questions/790 ... nore-nulls

Вернуться в «Python»