python – 查找月末Pandas DataFrame系列
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 查找月末Pandas DataFrame系列,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1266字,纯文字阅读大概需要2分钟。
内容图文
![python – 查找月末Pandas DataFrame系列](/upload/InfoBanner/zyjiaocheng/713/ac35230a7e77446b945abde3148309e9.jpg)
我在DataFrame中有一个系列,我最初将其作为对象读取,然后需要将其转换为yyyy-mm-dd形式的日期,其中dd是月末.
作为一个例子,我有DataFrame df,其中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 ad pd,日期时间为dt
解决方法:
你可以使用pandas.tseries.offsets.MonthEnd:
from pandas.tseries.offsets import MonthEnd
df['Date'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1)
MonthEnd中的1只指定向前移动一步到月末的下一个日期. (使用0或将其留空也适用于您的情况).如果你想要下个月的最后一天,你可以使用MonthEnd(2)等.这应该适用于任何月份,所以你不需要知道这个月的天数,或者类似的东西.可以在documentation中找到更多的偏移信息.
用法和输出示例:
df = pd.DataFrame({'Date': [200104, 200508, 201002, 201602, 199912, 200611]})
df['EndOfMonth'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1)
Date EndOfMonth
0 200104 2001-04-30
1 200508 2005-08-31
2 201002 2010-02-28
3 201602 2016-02-29
4 199912 1999-12-31
5 200611 2006-11-30
内容总结
以上是互联网集市为您收集整理的python – 查找月末Pandas DataFrame系列全部内容,希望文章能够帮你解决python – 查找月末Pandas DataFrame系列所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。