TypeError: аргумент float () должен быть строкой или числом, а не NaTType

0

У меня есть функция, которая загружает базу данных pandas в мою базу данных.

Однако многие значения в df являются значениями с плавающей запятой.

Первоначально в dataframe были несовместимые типы данных, но я изменил их на свои правые типы данных, за исключением значения, из которого я хочу иметь float.

Есть несколько дат, для которых нет значения, но mysql дает мне следующее:

1947-01-01 = 1239 <- предполагается плавать и 1947-01-01 =
-9.22337e18 должен быть нулевым

Аргумент TypeError: float() должен быть строкой или числом, а не "NaTType"

for lines in countryDict[country_index]:

                      lines.splitlines()
                      fredder = fred.get_series_all_releases(lines)
                      pd.DataFrame(fredder)

                      fredder['date'] = fredder.date.astype('datetime64')
                      fredder['realtime_start'] = fredder.realtime_start.astype('datetime64')
                      fredder['value'] = fredder.value.astype('float64')

                      fredder.to_sql(
                                name = '{}'.format(lines),
                                con = engine,
                                index = False,
                                if_exists = 'append')



connection.close()
Теги:
database
pandas
for-loop

1 ответ

0

Попробуйте использовать pd.to_datetime(fredder['Date'])

  • 0
    У меня нет проблем с датой, так же как и для моих значений, которые являются числами с плавающей точкой, а некоторые из них также являются нулевыми
  • 1
    Вы можете добавить условие и сделать его нулевым, если оно нулевое. Это если у вас нет проблем с установкой нулей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню