将数据帧转换为日期窗体

2024-09-29 21:57:19 发布

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

我正在读取一个sql查询并将其用作数据帧列。你知道吗

    query = "SELECT count(*) as numRecords, YEARWEEK(date) as weekNum FROM events GROUP BY YEARWEEK(date)"
    df = pd.read_sql(query, connection)           

    date = df['weekNum']            
    records = df['numRecords']  

日期列是int64值,如下所示:

...
201850
201851
201852
201901
201902
...

如何将dataframe转换为实际的日期值(而不是int64),这样当我绘制这个时,轴不会因为年份的变化而中断?你知道吗

我在用matplotlib。你知道吗

enter image description here


Tags: 数据fromdfsqldateascountgroup
1条回答
网友
1楼 · 发布于 2024-09-29 21:57:19

您只需使用:

pd.to_datetime(date,format='%Y&%W')

编辑时间:

它给出了一个错误,将日期转换为datetime时应该提到的日期。为了解决这个问题,我们在结尾加了一个“-1”(意思是星期一。。。您可以添加0到6之间的任何特定值,其中每个值表示一天)。你知道吗

然后在格式中使用一个额外的%w来抓取“星期几”,它将工作:

pd.to_datetime(date.apply(lambda x: str(x)+'-0'), format="%Y%W-%w")

请记住,要执行上述任何操作,datedataframe或series中的值应该是string对象。如果没有,您可以使用d.astype(str)轻松地转换它们,然后执行所有这些操作。你知道吗

相关问题 更多 >

    热门问题