检查是否在pandas数据框中存在最小和最大日期之间的所有日期?



我有一个数据框架如下:

pd.DataFrame({"Date":["09-01-2021","09-02-2021","09-02-2021","09-04-2021"]})

如何检查数据帧中日期列中最大和最小日期之间的所有日期?

这里"09 - 03 - 2021"不见了。因此预期输出为["09-03-2021"],即所有缺失日期的列表。

您可以使用date_range函数并检查您的数据帧和生成的范围中的唯一值是否相同-

df = pd.DataFrame({"Date":["09-01-2021","09-02-2021","09-02-2021","09-04-2021"]})
rng = pd.date_range(df.Date.min(), df.Date.max())
print(set(rng) == set(df['Date']))
#returns False

问题1

如何检查数据帧中日期列中最大和最小日期之间的所有日期?

import pandas as pd
df = pd.DataFrame({"Date":["09-01-2021","09-02-2021","09-02-2021","09-04-2021"]})
df['Date'] = pd.to_datetime(df['Date'])
print(df.loc[(df['Date'] > min(df['Date'])) & (df['Date'] < max(df['Date']))])
09-02-202109-02-2021

最新更新