我有一个DataFrame中的一系列数据,最初我将其读入为对象,现在需要将其转换为日期形式,格式为yyyy-mm-dd,其中dd是月末。
例如,我有一个名为df
的DataFrame,其中包含一个对象类型的Date
列:
... Date ...
... 200104 ...
... 200508 ...
当一切结束时,我想要的是一个日期对象:
... Date ...
... 2001-04-30 ...
... 2005-08-31 ...
使得df ['Date'] .item()
返回
datetime.date(2001, 04, 30)
我已经使用了下面的代码来实现,但是所有的日期都在月初而不是月末,请给予建议。
df['Date'] = pd.to_datetime(df['Date'], format="%Y%m").dt.date
注意:我已经导入了Pandas(pd)和datetime(dt)。
MonthEnd
是Pandas中隐藏的宝石之一,你可能不会立即想到Pandas会有这个功能。通常我的第一反应是使用其他日期时间库...直到我记起Pandas有这么酷的功能! - rootMonthEnd(1)
来获取月份的最后一天是不正确的,应该始终使用MonthEnd(0)
。 - AsclepiusMonthEnd(0)
而不是MonthEnd(1)
。这个问题非常常见,最高评分的答案错误会误导人们。 - Moysey Abramowitz