【问题标题】:Exclude dates based on a list from a pandas dataframe根据 pandas 数据框中的列表排除日期
【发布时间】:2020-03-19 17:18:19
【问题描述】:

我有一个带有pd.to_datetime 列 df 的数据框,其中列日为:df['Date'].dt.day:

Day
01.01.2020
02.01.2020
...

我还有另一个带有pd.to_datetimecolumn closeddays 的数据框:

Closed
01.01.2020
31.01.2020

我尝试过如何排除已关闭列表中的每一行:

df = df.loc[~df['Day'].isin([closeddays['Closed']])]

导致错误:TypeError: 'Series' 对象是可变的,因此它们不能被散列

我怎样才能得到结果:

Day
02.01.2020
...

【问题讨论】:

  • df = df.loc[~df['Day'].isin(closeddays['Closed'])]。您不必将其放入列表中。

标签: python pandas


【解决方案1】:

你可以试试这个——

df = df[~(df['Date'].isin(closeddays['Closed'].dt.date.tolist()))]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 2021-12-06
    • 2017-11-15
    相关资源
    最近更新 更多