Python Dataframe-只保留每个月的最旧记录



我有一个带有日期列的Pandas数据框架。我只想每个月都有最旧的记录,并删除之前的任何记录。会有副本,我想保留它们。我还需要一个只有月份和年份的新专栏。

输入

022年1月022年1月5日022年1月20日022年1月20日022年2月5日022年2月10日
Provider日期
Apple
苹果
苹果
苹果
苹果
苹果

创建列month_yearSeries.dt.strftime,然后通过GroupBy.transform中的原始date列比较每组的最大日期时间,并在boolean indexing:中进行筛选

df['date'] = pd.to_datetime(df['date'], dayfirst=True)
df = df.assign(month_year = df['date'].dt.strftime('%m/%Y'))
df = df[df.groupby(['Provider', 'month_year'])['date'].transform('max').eq(df['date'])]
print (df)
Provider       date month_year
2    Apple 2022-01-20    01/2022
3    Apple 2022-01-20    01/2022
5    Apple 2022-02-10    02/2022

相关内容

  • 没有找到相关文章

最新更新