当前位置: 首页 > 面试题库 >

找到月底的Pandas DataFrame系列

邓令
2023-03-14
问题内容

我在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)


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 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


 类似资料:
  • 问题 你需要计算相关日期范围例如“上一个月”,“下一个月”。 解决方案 添加或减去当月的数字,JavaScript 的日期构造函数会修复数学知识。 # these examples were written in GMT-6 # Note that these examples WILL work in January! now = new Date # => "Sun, 08 May 2011

  • 问题 你需要去找出一个月的最后一天,但是一年中的各月并没有一个固定时间表。 解决方案 利 用JavaScript 的日期下溢来找到给出月份的第一天: now = new Date lastDayOfTheMonth = new Date(1900+now.getYear(), now.getMonth()+1, 0) 讨论 JavaScript 的日期构造函数成功地处理溢出和下溢情况,使日期的计算

  • 主要内容:1、尴尬的面试现场:第一幕,2、尴尬的面试现场:第二幕,3、别让你学的技术成为空中楼阁,4、想方设法的“虐虐”自己这篇文章,给大家说一个同样是很多人都很迷惑的问题,因为实在是太多同学来问我类似的问题了,所以写一篇文章给大家来说一下。 事情的起因是这样子的:很多好学的同学,都会自己平时研究很多的技术,比如常见的就是买书看书,参加在线培训课程,购买一些知识付费的专栏,或者购买一些视频课程。 但是这些好学的同学在学了很多东西之后,出去面试都遇到了这样的一个痛点问题: 这些同学简历上写了很多高

  • 问题内容: 有什么办法可以找到PHP中月份的差异?我输入的日期是2003年10月17日到2004年3月24日。我需要找出这两天内有多少个月。假设6个月,我只需要几个月的输出。感谢您指导我的工作日差。 我通过My​​SQL找到解决方案,但我在PHP中需要它。有人帮助我,谢谢。 问题答案: 这是一个快速的:

  • 我找的是计算机视觉方向,最终拿到了复星杏脉的offer. 面试过程比较简单,主要分几部分。 1. 问了很多项目相关的内容 2. 一些python的基础操作 3. 一道算法题 4. 针对图像分类任务类别不均匀的优化 5. 一些linux基础操作 很庆幸可以找到这个offer,最近太难找了。工资一般,只能说很多的是锻炼自己。 工作内容主要是医学图像的分类分割任务#暑期实习##计算机视觉实习#

  • 主要内容:一、从单块系统说起,二、团队越来越大,业务越来越复杂,三、分布式出现:庞大系统分而治之,四、分布式系统所带来的技术问题,五、一句话总结:什么是分布式系统设计和开发经验?,六、补充说明:中间件系统及大数据系统前言 现在有很多Java技术方向的同学在找工作的时候,肯定都会去招聘网站上找职位投递简历。 但是在很多职位JD上往往会有这样的一个要求:熟悉分布式系统理论、设计和开发,具备复杂分布式系统构建经验。 之前不少同学后台留言问过我:这个分布式系统的设计和开发经验,到底指的是什么?那么这篇文