我正在尝试根据预测日期(可能是 06-08-2020、06-20-2020 和 06-24-2020)收集 06-01-2020 和 06-30-2020 之间的所有日期。我遇到的问题是我只获取与预测日期 06-24-2020 相关的所有日期。我需要所有最近的日期,所以如果说 06-03-2020 发生在预测日期 06-08-2020 而不是 06-20-2020,我仍然需要与该预测日期关联的所有日期。这是我目前正在使用的代码。
df = df[df['Forecast Date'].isin([max(df['Forecast Date'])])]
它正在生产这个-
Date \
5668 2020-06-25
5669 2020-06-26
5670 2020-06-27
5671 2020-06-28
5672 2020-06-29
5673 2020-06-30
Media Granularity Forecast Date
5668 NaN 2020-06-24
5669 NaN 2020-06-24
5670 NaN 2020-06-24
5671 NaN 2020-06-24
5672 NaN 2020-06-24
5673 NaN 2020-06-24
长度为 6 ( len(df[df['Forecast Date'].isin([max(df['Forecast Date'])])]))。它的长度必须为 30,每个唯一日期一个。它仅抓取最大预测日期为 06-24-2020 的列。
我在想这有点像,df.sort_values(df[['Date', 'Forecast Date']]).drop_duplicates(df['Date'], keep='last')但它给了我一个key error.