Как обновить фрейм данных Pandas с помощью Nans внутри таблицы Oracle, чтобы Nans стали NULL? - PullRequest
0 голосов
/ 08 ноября 2019

Мой pandas dataframe имеет значения NAN. Я использую метод df.dropna, чтобы удалить все пропущенные значения из моего dataframe, чтобы я мог записать его обратно в свою таблицу базы данных Oracle. Но внутри таблицы БД значения Nan заменяются на 0, и я хочу, чтобы они оставались нулевыми. В качестве альтернативы, есть ли способ обновить таблицу Oracle с помощью фрейма данных, который содержит отсутствующие значения / NaN. NaN должны стать нулевыми внутри БД. Пожалуйста, помогите, поскольку я новичок в питоне и пандах.

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

есть возможность записать кадр данных pandas в базу данных

df.to_sql('Tablename', connection, if_exists='append', index=False)

, он заменит значение Nan на значения NULL

0 голосов
/ 08 ноября 2019

Я использую для этого:

df_new = df.where((pd.notnull(df)), None)

Пример:

import pandas as pd
import numpy as np
df = pd.DataFrame(['str1', np.nan])
df


0   str1
1   NaN


df_new = df.where((pd.notnull(df)), None)
df_new

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