熊猫:增加日期时间

Posted

技术标签:

【中文标题】熊猫:增加日期时间【英文标题】:Pandas: increment datetime 【发布时间】:2016-11-09 14:35:37 【问题描述】:

我需要对 df 列中的date 执行一些操作

buys['date_min'] = (buys['date'] - MonthDelta(1))
buys['date_min'] = (buys['date'] + timedelta(days=5))

但它会返回

TypeError:日期时间/时间增量操作的类型 [object] 不兼容

我怎样才能做到这一点?

【问题讨论】:

type [object] 暗示至少有一些值不是日期时间。 【参考方案1】:

我认为您需要首先转换列dateto_datetime,因为date 列中的type od 值是string

buys['date_min'] = (pd.to_datetime(buys['date']) - MonthDelta(1))
buys['date_min'] = (pd.to_datetime(buys['date']) + timedelta(days=5))

编辑:

你需要参数formatto_datetime 然后另一个解决方案是to_timedelta

buys = pd.DataFrame('date':['01.01.2016','20.02.2016'])
print (buys)
         date
0  01.01.2016
1  20.02.2016

buys['date']= pd.to_datetime(buys['date'],format='%d.%m.%Y') 
buys['date_min'] = buys['date'] + pd.to_timedelta(5,unit='d')
print (buys)
        date   date_min
0 2016-01-01 2016-01-06
1 2016-02-20 2016-02-25

【讨论】:

它返回错误TypeError: incompatible type [object] for a datetime/timedelta operation。数据类似于01.01.2016, 20.02.2016 我添加解决方案,请查看。 AttributeError: 'module' object has no attribute 'TimeDelta'

以上是关于熊猫:增加日期时间的主要内容,如果未能解决你的问题,请参考以下文章

熊猫日期时间和日期时间日期时间之间的区别

熊猫:从日期时间索引合并日期和小时

将字符串日期时间转换为熊猫日期时间

加入带有日期范围的熊猫时间序列

如何格式化熊猫日期时间? [复制]

尽管是日期值,但使用显示日期时间的熊猫导入 excel 数据