在Python中使用Pandas数据帧Date正在转换为timestamp

2024-05-20 15:26:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中使用panda dataframes在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()

显示print语句的语法:

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)

为什么要把这些转换成不同的格式?我一辈子都搞不懂这个


Tags: 数据newdate格式错误原因ddmm
1条回答
网友
1楼 · 发布于 2024-05-20 15:26:56

这个脚本是从字段类型为datetime的db表中提取的吗

如果是这样的话,我猜来自db的datetime正在与日期合并,Python正在默默地将日期强制为datetime

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

相关问题 更多 >