ValueError: необходимо указать значение или метод заливки. - PullRequest
1 голос
/ 13 июля 2020

Для текущего проекта я планирую очистить Pandas DataFrame от его значений Null. Для этой цели я хочу использовать pd.DataFrame().fillna(), который, по-видимому, является решением solid для очистки данных.

Однако при запуске приведенного ниже кода я получаю следующую ошибку ValueError: Must specify a fill 'value' or 'method'. Я пробовал несколько вариантов переписать строку df = pd.DataFrame().fillna(), ни один из которых не привел к желаемому результату.

Есть ли какие-нибудь хитрые настройки, чтобы заставить это работать?

import string
import json
import pandas as pd

# Loading and normalising the input file
file = open("sp500.json", "r")
data = json.load(file)
df = pd.json_normalize(data)
df = pd.DataFrame().fillna()

1 Ответ

2 голосов
/ 13 июля 2020

fillna() принимает параметры для определения того, как заменить значения, как указано в документации: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html#pandas .DataFrame.fillna

DataFrame.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None) → Union[ForwardRef(‘DataFrame’), NoneType]

Вы получаете ошибку ValueError: Must specify a fill 'value' or 'method'. указывает, что вы должны указать хотя бы один из параметров value или method. Первое - это постоянное значение, устанавливаемое для всех нулевых записей, второе - метод заполнения записей.

Для вашего второго замечания, ваш объект фрейма данных будет изменен, если вы установите параметр inplace=True, в противном случае метод вернет новый объект фрейма данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...