【问题标题】:Pandas: Convert int columnt to Date columnPandas:将 int 列转换为 Date 列
【发布时间】:2020-08-24 05:34:29
【问题描述】:
Day GrocerySales
1   8418.59
2   8447.47
3   8336.49
4   8579.17
5   8524.31
6   8623.5
7   8320.11
8   8313.53
9   8461.34
10  8497.24
11  8674.65
12  8354.63
13  8526.67
14  8767.31
15  8689.53

我有上述格式的数据。

我需要将 Day number 列转换为 datetime 列来执行时间序列分析。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你有什么尝试吗?第 1 天是几号?
  • 嗨,有趣,也许在年初添加几天datetime.date(2020, 1, 1) + dateutil.relativedelta(days=x)
  • 没有为数据集中第 1 天的数字提供没有日期。仅在数据框中的 2 列上方

标签: python pandas datetime time


【解决方案1】:

您可以使用to_datetime。然后使用origin 参数设置起始日期并将unit 参数设置为d 以使用您的整数值作为日期值。代码在这里

import pandas as pd
my_dict = { 'Day' : [1,2,3,4,5], 'GrocerySales' : [8418.59,8447.47, 8336.49, 8579.17, 8524.31]}
df = pd.DataFrame(my_dict)
df['date'] = pd.to_datetime(df['Day'], unit='d',origin=pd.Timestamp('2020-05-08'))

输出:

    Day   GrocerySales      date
0   1     8418.59           2020-05-09
1   2     8447.47           2020-05-10
2   3     8336.49           2020-05-11
3   4     8579.17           2020-05-12
4   5     8524.31           2020-05-13

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 2020-07-18
    • 2020-07-08
    • 1970-01-01
    • 2014-02-12
    • 2019-04-08
    相关资源
    最近更新 更多