如何从含月度末日期列HIST_DATUM的DataFrame提取最后日期行?
提取DataFrame中最后日期对应的所有行
步骤说明
- 确保日期列是datetime类型(如果原始数据是字符串格式)
- 筛选出等于最大日期的所有行
代码实现
首先处理日期类型转换(如果需要):
import pandas as pd # 若HIST_DATUM列是字符串,先转为datetime格式 df['HIST_DATUM'] = pd.to_datetime(df['HIST_DATUM'])
然后提取目标行到新DataFrame:
# 获取数据中最晚的日期 latest_date = df['HIST_DATUM'].max() # 筛选出该日期对应的所有行 df2 = df[df['HIST_DATUM'] == latest_date].copy()
也可以合并成一行代码:
df2 = df[df['HIST_DATUM'] == df['HIST_DATUM'].max()].copy()
补充说明
- 使用
.copy()是为了创建独立的DataFrame副本,避免后续操作时触发SettingWithCopyWarning警告,同时保证修改df2不会影响原df。 - 如果你的
HIST_DATUM列已经是datetime类型,可以跳过转换步骤。
内容的提问来源于stack exchange,提问作者Bsleon
相关产品推荐
相关产品推荐

