首页 > 解决方案 > 如何根据特定的日期持续时间选择数据?

问题描述

我有一个类似于以下的数据集。在几个日期,即 2/16/2014 - 2/20/14,我们有一些类别。我只想选择跨越这些日期的那些类别(及其相应的日期)。例如,根据这个逻辑,C 类和 D 类应该被排除在外。

在此处输入图像描述

我正在使用它,但显然它对我的问题没有帮助。

df_1=df.loc['2014-02-16':'2014-02-20']

标签: pythonpandasdate

解决方案


你可以试试这个:

no_days = pd.date_range(start='2/16/2014', end='2/20/2014').size
df.groupby('Category').filter(lambda x: len(x) == no_days)

优化解决方案:

df[df.groupby('Category')['Category'].transform('size') == no_days]

推荐阅读