как конвертировать N / A (NaT) в 0 в пандах - PullRequest
0 голосов
/ 15 марта 2019

Я получаю следующий вывод, в моем панде dataframe;казалось бы, из-за моих редко null значений для определенных записей:

Cannot convert non-finite values (NA or inf) to integer

Как я могу написать обработчик или что-то в python / pandas для преобразования моих редко N/A значений записей в 0 - когда они появляютсятак что мой сценарий может продолжаться;по-видимому, исправить это?


Ниже мой код ;при попытке использования fillna() - это добавление кода удаляет ошибку «Невозможно преобразовать не конечные значения ..» в вывод данных кадра.

Однако он по-прежнему отображает NaT в выводе кадра данных pandas дляэти редкие записи.

for row in excel_data.itertuples():
            mrn = row.MRN

            if mrn in ("", " ", "N/A", None) or math.isnan(mrn):
                print(f"Invalid record: {row}")
                excel_data = excel_data.drop(excel_data.index[row.Index])
                excel_data = excel_data.fillna(0) # attempt
                continue
            else:
                num_valid_records += 1

        print(f"Processing #{num_valid_records} records")

        return self.clean_data_frame(excel_data)

1 Ответ

2 голосов
/ 15 марта 2019

Вот пример использования fillna():

df = pd.DataFrame([[1, 2, np.nan],
                   [5, np.nan, 7]],
                   columns=list('ABC'))
df

       A    B    C
    0  1  2.0  NaN
    1  5  NaN  7.0

df.fillna(0)

       A    B    C
    0  1  2.0  0.0
    1  5  0.0  7.0

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