如何从当前日期减去天数并返回以熊猫为单位的日期对象

时间:2020-01-23 13:45:33

标签: pandas

我想从当前日期减去30天,并以以下格式获取日期。

  final_date = 2019-12-24

我正在熊猫里做下面的事情,但是得到时间戳对象作为回报

  final_date = pd.to_datetime(pd.datetime.now().date() - timedelta(30))

我如何在大熊猫中做到这一点?

2 个答案:

答案 0 :(得分:4)

还有更多解决方案,可以用时间增量或偏移量将Timestamp.floor减去今天:

s <- c("aaa1" , "aaa2" , "aaa3" , "bbb1")
gsub("([[:alpha:]]+)","\\10",s)

final_date =  pd.Timestamp.now().floor('d') - pd.Timedelta(30, unit='d')
final_date =  pd.to_datetime('now').floor('d') - pd.DateOffset(days=30)
final_date =  pd.to_datetime('now').floor('d') - pd.offsets.Day(30)

最后将输出转换为python对象日期:

print (final_date)
2019-12-24 00:00:00

或输入字符串:

print (final_date.date())
2019-12-24

答案 1 :(得分:3)

使用Series.strftime

final_date = (pd.datetime.now().date() - pd.Timedelta(days = 30)).strftime('%Y-%m-%d')
#'2019-12-24'