如果我们的目标是在不修改 DataFrame 内容的情况下从 DataFrame 中提取相关日期,我们可以这样做:
案例 1:“日期”列已经是字符串格式,使用:
df[df['Date'].str.endswith('12-31')]
案例 2:“日期”列已经是日期时间格式,使用:
df[df.assign(Date=df['Date'].astype(str))['Date'].str.endswith('12-31')]
两者都根据当前数据类型为您提供所需的提取输出,而无需修改 DataFrame。
编辑
如果您想自动提取属于营业年度结束的条目,您可以尝试以下代码。这是供您参考的,您可能需要进一步微调它以清理一些中间列。
df['Date1'] = pd.to_datetime(df['Date'])
df['BYearEnd'] = pd.to_datetime(df['Date1'].dt.year.astype(str) + '-12-01') + pd.offsets.BMonthEnd(1)
在这里,我们创建了临时列Date1,BYearEnd其值对应于列Date ColumnBYearEnd包含列中各个日期的营业年度结束日期Date。
然后我们可以使用以下代码提取相关日期:
df[df['Date1'] == df['BYearEnd']]