我要确保数据框中的日期是实际日期(它以对象的形式出现)
from datetime import datetime
df_ps['data_date'] = pd.to_datetime(df_ps['data_date'], errors='coerce')
print(df_ps['data_date'].dtype)
现在,我只想保留具有最长日期和重复ID的行。ID字段标题为“位置”
我运行以下代码,得到31299行。这是开始的行数
df_ps.sort_values(['location', 'data_date']).drop_duplicates('location', keep='last')
print(df_ps.shape)
我运行以下代码,得到18103行
df_ps_final = df_ps.loc[df_ps.groupby('location').data_date.idxmax()]
print(df_ps_final.shape)
我运行以下代码,得到17740行
df_ps_final = df_ps[df_ps.groupby('location')['data_date'].transform('max') == df_ps['data_date']]
print(df_ps_final.shape)
我在Excel中输入了位置和数据日期,单击“删除重复项”,最终得到11816条记录。也许Excel是在做一些我不知道的事情。无论如何,在Python中,什么是只保留每个ID的最大日期的最佳方法
目前没有回答
相关问题 更多 >
编程相关推荐