【问题标题】:adding integer column to date column to get 'future date' using python使用python将整数列添加到日期列以获取“未来日期”
【发布时间】:2023-03-21 05:59:01
【问题描述】:

我有一个带有“日期”列的 python 数据框,其中包含约 200 个元素,格式为 yyyy-mm-dd。

我有一个第二列(在同一个数据框中),其中包含天数(这些天不同......有时是 1,有时是 360),但总是整数。

我想把这两个加起来。

日期列是 datetime64 [ns] 类型,“days”列是 int64 类型。

真的卡住了。我可以找到很多天数不变的例子,但没有天数在列中的例子。

请帮忙。

【问题讨论】:

  • 您想将数字与日期相加,以便显示新日期,或者您只想将它​​们作为字符串添加 - 只是为了并排放置。
  • 嗨本能 246。我想添加以显示新日期。谢谢。
  • 已发布答案 - 请检查它是否能解决您的问题。

标签: python datetime days elapsed


【解决方案1】:

date.timedelta 是你所追求的

您可以使用它来指定天数(或其他时间/日期增量)

date = datetime.date(2030, 2, 2)
days = datetime.timedelta(2)
print(date + days)

或者,如果您使用 numpy,timedelta 将对 datetime64 类型执行相同的概念操作

【讨论】:

  • timedelta(2) 可以按timedelta(df[days column]) 吗?
  • 这取决于您使用的框架如何具体实现这一点。你在用什么?
【解决方案2】:

这就是你要找的吗? Pandas 有自己的日期时间和 timedelta 模块,使事情变得更容易。

示例数据框:

df = pd.DataFrame({'Dates_Col':['2019-12-15','2020-01-14','2020-03-19','2020-06-17','2019-08-12'], 'Days':[2,15,70,28,3]})
df

O/P

代码从第二列到第一列添加天数:

df['Dates_Col'] = pd.to_datetime(df['Dates_Col']) #Convert the first column to pandas datetime type
df['Dates_Col'] = df['Dates_Col']+pd.to_timedelta(df['Days'],unit='d') #Convert the second column type to pandas timedelta type and add to first column (which is already in date time type)
df

O/P

【讨论】:

  • instinct246:非常感谢!这正是我所需要的。非常感激。干杯!! -Big_Ears
  • @Big_Ears Can:在这种情况下,你能“接受”答案吗?如果这给你一个有效的解决方案,介意投票吗? :)
  • 嗨,insurance246...我如何接受答案?有按钮可以按吗……抱歉,这个网站上的新东西。
  • 在我的答案旁边会有一个“接受”选项...您还可以看到向上箭头和向下箭头...向上箭头是投票...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-13
  • 2019-03-29
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
相关资源
最近更新 更多