您可以使用
pandas.tseries.offsets.MonthEnd:
from pandas.tseries.offsets import MonthEnddf['Date'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1)
“
1in”
MonthEnd仅指定将一个步骤向前移动到下一个月底的日期。(
0在您的情况下,也可以使用空白或将其保留为空白)。如果您需要下个月的最后一天,则可以使用
MonthEnd(2),等等。它应该可以在任何月份使用,因此您无需知道月份中的天数或类似的数字。更多偏移信息可在文档中找到。
用法示例和输出:
df = pd.Dataframe({'Date': [200104, 200508, 201002, 201602, 199912, 200611]})df['EndOfMonth'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1) Date EndOfMonth0 200104 2001-04-301 200508 2005-08-312 201002 2010-02-283 201602 2016-02-294 199912 1999-12-315 200611 2006-11-30


