【问题标题】:convert dates to int in pandas在 pandas 中将日期转换为 int
【发布时间】:2019-08-28 09:52:58
【问题描述】:

我有一个格式为 YYYY-MM-DD 的日期列,并希望将其连续转换为 int 类型,其中 1 = 2000 年 1 月 1 日。因此,如果我有一个日期 2000-01-31,它将转换到 31。如果我有一个日期 2020-01-31,它将转换为(365*20 年 + 5 个闰日)等。

这可以在熊猫中做到吗?

我查看了Pandas: convert date 'object' to int,但此解决方案转换为 8 位长的 int。

【问题讨论】:

    标签: pandas date


    【解决方案1】:

    首先用Timestamp 减去列,用Series.dt.days 将timedelts 转换为天数,最后加上1:

    df = pd.DataFrame({"Date": ["2000-01-29", "2000-01-01", "2014-03-31"]})
    d = '2000-01-01'
    df["new"] = pd.to_datetime(df["Date"]).sub(pd.Timestamp(d)).dt.days + 1
    print( df )
             Date   new
    0  2000-01-29    29
    1  2000-01-01     1
    2  2014-03-31  5204
    

    【讨论】:

    • 爱它。我只是想减去日期2000-01-01,但答案都是天,我不知道如何转换为int。您的建议非常有效!
    猜你喜欢
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2018-10-19
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    相关资源
    最近更新 更多