在Python中使用Panda Dataframes-将日期转换为时间戳

时间:2018-07-16 19:27:11

标签: python pandas

我在python中使用panda数据帧读取数据并将数据存储在MySQL / MariaDB数据库中时遇到了一些错误。我正在尝试将计算出的日期以YYYY-MM-DD的形式存储到数据框中。我正在将其输入到数据帧中,但是由于某种原因,它被转换为格式为“ YYYY-MM-DD HH:MM:SS”的时间戳,但没有明显的原因。

我不会显示完整的代码,但仅显示与该日期错误​​有关的部分,因为我已确认其他变量已正确传递。

 for j in range(0, final_day):
    DateW = DateP + dt.timedelta(days = j + int(First_day))
    DateWCorr=datetime.date(DateW.year,DateW.month,DateW.day)
    print(DateWCorr,'New')
    if j < length + offset:
        if DateW != ws_date[indexw[j-offset]]:
            doy = (DateW - datetime.date(today.year, 1, 1)).days + 1
            new_record = pd.DataFrame(DateWCorr,columns=['Date'])
            WeatherArray = pd.concat([WeatherArray,new_record])
    else:
        *****OMITTED FOR CLARITY SAKE**********

print("Check",WeatherArray['Date'])
WeatherArray = WeatherArray.sort_values('Date')
WeatherArray = WeatherArray.reset_index()

显示打印语句的语法:

2018-05-06 New
2018-05-07 New
2018-05-08 New
2018-05-09 New
2018-05-10 New
..............

打印WeatherArray的日期.....

2018-04-20 00:00:00
2018-04-21 00:00:00
2018-04-22 00:00:00
2018-04-23 00:00:00
.............(loops through all dates, omitted for clarity)

为什么要将它们转换为其他格式?我一生无法解决这个问题。

1 个答案:

答案 0 :(得分:1)

此脚本是否从字段类型为datetime的数据库表中提取?

如果是这样,我猜想来自数据库的日期时间正在与日期合并,而Python默默地将日期强制为日期时间。

您可以尝试将数据库模式更改为date类型,或者在将新记录放入WeatherArray之前,将加载的数据显式更改为日期。