代码之家  ›  专栏  ›  技术社区  ›  John

将整数值转换为周(年-周格式)

  •  -2
  • John  · 技术社区  · 2 年前

    我正在尝试将一个数据帧转换为一年一周的格式,以便在时间序列建模中使用它,但我不确定如何才能做到这一点?

    这是我的代码:

    import pandas as pd
    import numpy as np
    c=15
    s={'week':[1,2,3,4,5,6,7,8],'Sales':[10,20,30,40,50,60,70,80]}
    p=pd.DataFrame(data=s)
    

    输出-

    enter image description here

    周列中所需的O/p应为日期时间格式。

    enter image description here

    数据类型是第一数据帧中的int,但需要在DATETIME中,其中2021是年,1是星期。(2021年第一周) 我怎样才能做到这一点?

    1 回复  |  直到 2 年前
        1
  •  1
  •   BrokenBenchmark Miles Budnek    2 年前

    你可以用 .apply() :

    import datetime
    p['week'] = p['week'].apply(
        lambda x: datetime.datetime.strptime(f'2021-{x:02}-1', '%Y-%W-%u')
    )
    

    这将产生:

            week  Sales
    0 2021-01-04     10
    1 2021-01-11     20
    2 2021-01-18     30
    3 2021-01-25     40
    4 2021-02-01     50
    5 2021-02-08     60
    6 2021-02-15     70
    7 2021-02-22     80