当前位置: 首页 > 面试题库 >

在DataFrame Pandas中添加带有日期之间的天数的列

邹博裕
2023-03-14
问题内容

我想从“ B”中的日期中减去“ A”中的日期,并添加一个具有差异的新列。

df
          A        B
one 2014-01-01  2014-02-28 
two 2014-02-03  2014-03-01

我尝试了以下操作,但是在尝试将其包含在for循环中时出现错误…

import datetime
date1=df['A'][0]
date2=df['B'][0]
mdate1 = datetime.datetime.strptime(date1, "%Y-%m-%d").date()
rdate1 = datetime.datetime.strptime(date2, "%Y-%m-%d").date()
delta =  (mdate1 - rdate1).days
print delta

我该怎么办?


问题答案:

假设这些是datetime列(如果不适用to_datetime),则可以减去它们:

df['A'] = pd.to_datetime(df['A'])
df['B'] = pd.to_datetime(df['B'])

In [11]: df.dtypes  # if already datetime64 you don't need to use to_datetime
Out[11]:
A    datetime64[ns]
B    datetime64[ns]
dtype: object

In [12]: df['A'] - df['B']
Out[12]:
one   -58 days
two   -26 days
dtype: timedelta64[ns]

In [13]: df['C'] = df['A'] - df['B']

In [14]: df
Out[14]:
             A          B        C
one 2014-01-01 2014-02-28 -58 days
two 2014-02-03 2014-03-01 -26 days

注意:请确保您使用的是新熊猫(例如0.13.1),这可能在较旧的版本中不起作用。



 类似资料:
  • 问题内容: 我在MySQL中有一张表。将表中的当前日期值添加为2天的sql语句看起来像什么? 这会增加一秒钟的值,我不想更新时间,我想增加两天? 问题答案: 假设您的字段是一种类型(或相似类型): 使用您提供的示例,它看起来可能像这样: 这种方法也适用。

  • 问题内容: 我有一个日期,我想使用Python脚本为其添加5天。请考虑在月底也可以使用的一般解决方案。 我正在使用以下代码: ->正在打印 现在,我要在此日期之前增加5天。我使用以下代码: 哪个返回此错误: 问题答案: 先前的答案是正确的,但是通常这样做是更好的做法: 然后,您将拥有:

  • 问题内容: 查看两个日期之间有多少整天的最短方法是什么?这就是我现在正在做的。 问题答案: 假设您确实有两个日期对象,则可以从另一个对象中减去一个,然后查询结果对象的天数: 它也适用于日期时间-我认为它会四舍五入到最近的日期:

  • 我有一个数据集,我需要在其中计算不同日期和初始日期之间的天差。更准确地说,这是列表的示例: 我想要实现的是计算页面“b”中的第一个日期与剩余天数之间的天数。因此,对于页面“b”,我现在认为第二个条目是第一个日期后的 1 天,下一个条目是 2 天,依此类推。这里的问题是我有不同的页面和不同的初始日期。 谢谢

  • 问题内容: 我想比较我的Android应用程序的两个日期,但是遇到了一个非常奇怪的问题。 例如: 如果我将日期设置为127天之前: 然后将其与当前日期(两天之间)进行比较 它将返回22,这根本不是预期的结果。 我做错什么了吗?还是班上有问题? 问题答案: 请参考此代码,这可能会对您有所帮助。

  • 我需要计算两个日期之间的天数差。 最后我需要知道某个日期是否已经到期。 但我想不出解决办法。 字段的类型为datetime 服务ts 检查许可证。ts