Pandas 以YYYY-MM-DD格式显示的期间(月)至当月最后一天

Pandas 以YYYY-MM-DD格式显示的期间(月)至当月最后一天,pandas,Pandas,我有一个YYYY-MM格式的周期对象。我正试图从中得到这个月的最后一天 df['Date']=(df.MONTH).end_time 我得到一个错误: “序列”对象没有属性“结束时间” 如何解决此问题?尝试使用MonthEnd s=pd.Series('2019-01') pd.to_datetime(s,format='%Y-%m')+pd.tseries.offsets.MonthEnd() Out[113]: 0 2019-01-31 dtype: datetime64[ns]

我有一个YYYY-MM格式的周期对象。我正试图从中得到这个月的最后一天

df['Date']=(df.MONTH).end_time
我得到一个错误:

“序列”对象没有属性“结束时间”


如何解决此问题?

尝试使用
MonthEnd

s=pd.Series('2019-01')

pd.to_datetime(s,format='%Y-%m')+pd.tseries.offsets.MonthEnd()
Out[113]: 
0   2019-01-31
dtype: datetime64[ns]
你可能想要 首先要认识到的是,对于pandas.Series,您可以通过访问datetime和timedelta函数。这就是允许您在
结束时获取的内容。但是,这将为您提供最后一个日期和最后一个可能的时间组件。这可能比你要讨价还价的要多。如果你真的只是想要约会。您可以使用
normalzie

将时间转换为午夜

日期时间的时间部分转换为午夜,即00:00:00。这在时间无关紧要的情况下非常有用。长度不变。时区不受影响

此方法可用于.dt访问器下具有datetime值的系列,也可直接用于datetime数组/索引

安装程序 使用
标准化
规范化


也许
df.MONTH.dt.end\u时间
df = pd.DataFrame(dict(MONTH=[pd.Period('2019-01')]))
df.MONTH.dt.end_time.dt.normalize()

0   2019-01-31
Name: MONTH, dtype: datetime64[ns]
0   2019-01-31 23:59:59.999999999
Name: MONTH, dtype: datetime64[ns]