Python 从包含时间序列的数组里,取不完整月份的最后一天的日期 您所在的位置:网站首页 excel中从日期中选出月份 Python 从包含时间序列的数组里,取不完整月份的最后一天的日期

Python 从包含时间序列的数组里,取不完整月份的最后一天的日期

2024-07-01 09:43| 来源: 网络整理| 查看: 265

场景:

Python中,DataFrame包含时间序列,需要从时间序列中取出每个月最后一天的日期。

模拟数据介绍:

DataFrame大小是(600,2),2列数据date和value,date是连续的从2018-01-01到2019-08-23,value连续的从0到599,想要的结果是每个月最后一天的日期,比如:2018-01-31、2018-02-28...2019-08-23,并把结果存到列表中。

#模拟数据代码 import pandas as pd import numpy as np data = pd.DataFrame(np.arange(600), columns=['value']) data['date'] = pd.date_range('1/1/2018', periods=600) data = data[['date', 'value']] print(data.head(), '\n', data[-3:]) print(data.shape) #模拟数据展示 date value 0 2018-01-01 0 1 2018-01-02 1 2 2018-01-03 2 3 2018-01-04 3 4 2018-01-05 4 date value 597 2019-08-21 597 598 2019-08-22 598 599 2019-08-23 599 (600, 2) 获取过程:

根据date创建了2个辅助列:year和month,根据辅助列year和month进行分组(groupby),这会把每年每个月的数据放到一起,然后取每个分组中最大(max)的日期,并存放到列表(to_list)中,从而实现需求。之后再删除(drop)辅助列,恢复数组原来的样子。

# 获取月份最后一天的日期的代码 data['year'] = data['date'].apply(lambda x: x.year) data['month'] = data['date'].apply(lambda x: x.month) grouped = data['date'].groupby([data['year'], data['month']]) last_day = grouped.max().to_list() data.drop(['year', 'month'], axis=1, inplace=True) print(last_day) #每月最后一天的日期的展示 [Timestamp('2018-01-31 00:00:00'), Timestamp('2018-02-28 00:00:00'), Timestamp('2018-03-31 00:00:00'), Timestamp('2018-04-30 00:00:00'), Timestamp('2018-05-31 00:00:00'), Timestamp('2018-06-30 00:00:00'), Timestamp('2018-07-31 00:00:00'), Timestamp('2018-08-31 00:00:00'), Timestamp('2018-09-30 00:00:00'), Timestamp('2018-10-31 00:00:00'), Timestamp('2018-11-30 00:00:00'), Timestamp('2018-12-31 00:00:00'), Timestamp('2019-01-31 00:00:00'), Timestamp('2019-02-28 00:00:00'), Timestamp('2019-03-31 00:00:00'), Timestamp('2019-04-30 00:00:00'), Timestamp('2019-05-31 00:00:00'), Timestamp('2019-06-30 00:00:00'), Timestamp('2019-07-31 00:00:00'), Timestamp('2019-08-23 00:00:00')]

这里的需求是取每月最后一天的日期,可以延申下,取每月最后一天对应的value,只要把目标列换下就可以:

grouped = data['value'].groupby([data['year'], data['month']])

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有