You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python提取DataFrame中每年每月的最新日期数据?

提取DataFrame中每年每月最新日期的完整数据

问题描述

我有一个包含date和input列的DataFrame,希望提取每年每个月最新日期对应的全部列数据。

示例DataFrame:

date        input
2017-04-06  0.036
2017-04-13  0.055
2017-04-20  0.07
2017-04-27  0.052
2017-05-04  0.039
2017-05-11  0.045
2017-05-18  0.033
2017-05-25  0.025
2017-06-01  0.018
2017-06-08  0.057
2017-06-15  0.05
2017-06-22  0.035
2017-06-29  0.038

期望得到的DataFrame:

date        input
2017-04-27  0.052
2017-05-25  0.025
2017-06-29  0.038

我尝试使用.max()方法,但仅能获取整个date列的最新日期,无法获取每年每月最新日期对应的完整数据,请问如何用Python实现该需求?

解决方案

方法一:按年和月分组筛选最大日期行

先将date列转为datetime类型,再按年份和月份分组,筛选每组中日期最大的行:

import pandas as pd

# 创建示例DataFrame
df = pd.DataFrame({
    'date': ['2017-04-06', '2017-04-13', '2017-04-20', '2017-04-27',
             '2017-05-04', '2017-05-11', '2017-05-18', '2017-05-25',
             '2017-06-01', '2017-06-08', '2017-06-15', '2017-06-22', '2017-06-29'],
    'input': [0.036, 0.055, 0.07, 0.052, 0.039, 0.045, 0.033, 0.025, 0.018, 0.057, 0.05, 0.035, 0.038]
})

# 转换date列为datetime类型
df['date'] = pd.to_datetime(df['date'])

# 分组并筛选每组最大日期的行
result = df.groupby([df['date'].dt.year, df['date'].dt.month]) \
           .apply(lambda x: x[x['date'] == x['date'].max()]) \
           .reset_index(drop=True)

print(result)

方法二:排序后去重(高效推荐)

先按date降序排序,再按年、月保留每组第一行(即最新日期行):

import pandas as pd

df['date'] = pd.to_datetime(df['date'])

# 按日期降序排序
df_sorted = df.sort_values('date', ascending=False)

# 按年和月去重,保留第一行
result = df_sorted.drop_duplicates(
    subset=[df_sorted['date'].dt.year, df_sorted['date'].dt.month],
    keep='first'
).sort_values('date')  # 最后按日期升序整理

print(result)

方法三:用idxmax获取索引提取行

通过idxmax找到每组最大日期的行索引,再提取对应数据:

import pandas as pd

df['date'] = pd.to_datetime(df['date'])

# 获取每组最大日期的行索引
max_date_idx = df.groupby([df['date'].dt.year, df['date'].dt.month])['date'].idxmax()

# 根据索引提取目标行
result = df.loc[max_date_idx].sort_values('date')

print(result)

以上三种方法均可实现需求,其中方法二和方法三在处理大数据集时效率更优。

内容的提问来源于stack exchange,提问作者yangyang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 15:57:50