TypeError:float()参数必须是字符串或数字,而不是“ NaTType”

时间:2018-09-20 12:18:42

标签: python mysql database pandas for-loop

我正在运行一个函数,该函数会将pandas数据帧上传到我的数据库。

但是,df中的许多值都是浮点值。

最初,数据框具有不兼容的数据类型,但我将其更改为正确的数据类型,除了我想要从中浮动的值。

有些日期没有任何价值,但是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()

1 个答案:

答案 0 :(得分:1)

尝试使用 pd.to_datetime(fredder['Date'])