向列中的每个值添加 +1 天
Add +1 day to each value in the column
我有一列日期。他们都是同一个日期。
如何为该列中的每个日期值增加 1 天?
这是我的代码:
aday = dt.timedelta(days=1)
datetickerdf = pd.read_csv('datesandtickers.csv')
datetickerdf = pd.DataFrame(datetickerdf, columns=["ticker","date"])
datetickerdf['date'] = datetickerdf['date'] + aday
datetickerdf
我收到此错误:“+ 的操作数类型不受支持:'Timedelta' 和 'str'”
如何将“aday”转换为可用于 + 运算符的内容?我想为我的专栏中的所有日期添加额外的一天。
您需要将字符串转换为日期对象。
一旦您的字符串是日期对象,您就可以应用时间增量,然后将新的日期对象转回字符串。
#Assuming datetickerdf['date'] is something like 21 June, 2018
#My Delta
aday = dt.timedelta(days=1)
#The date in the file converted to a date object
fileday = dt.datetime.strptime(datetickerdf['date'], "%d %B, %Y")
#New date calculated with delta
newday = fileday+aday
#Write it back to a file
datetickerdf['date'] = newday.strftime("%d %B, %Y")
使用此页面获取正确的格式字符串以解析和重写字符串 https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
使用pd.Timedelta
创建类似日期时间的一天
datetickerdf['date'] = datetickerdf['date'] + pd.Timedelta(days=1)
我有一列日期。他们都是同一个日期。 如何为该列中的每个日期值增加 1 天?
这是我的代码:
aday = dt.timedelta(days=1)
datetickerdf = pd.read_csv('datesandtickers.csv')
datetickerdf = pd.DataFrame(datetickerdf, columns=["ticker","date"])
datetickerdf['date'] = datetickerdf['date'] + aday
datetickerdf
我收到此错误:“+ 的操作数类型不受支持:'Timedelta' 和 'str'”
如何将“aday”转换为可用于 + 运算符的内容?我想为我的专栏中的所有日期添加额外的一天。
您需要将字符串转换为日期对象。 一旦您的字符串是日期对象,您就可以应用时间增量,然后将新的日期对象转回字符串。
#Assuming datetickerdf['date'] is something like 21 June, 2018
#My Delta
aday = dt.timedelta(days=1)
#The date in the file converted to a date object
fileday = dt.datetime.strptime(datetickerdf['date'], "%d %B, %Y")
#New date calculated with delta
newday = fileday+aday
#Write it back to a file
datetickerdf['date'] = newday.strftime("%d %B, %Y")
使用此页面获取正确的格式字符串以解析和重写字符串 https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
使用pd.Timedelta
创建类似日期时间的一天
datetickerdf['date'] = datetickerdf['date'] + pd.Timedelta(days=1)