【问题标题】:Drop specific date in dataframe在数据框中删除特定日期
【发布时间】:2022-01-20 04:11:16
【问题描述】:

作为标题,我想在数据框中删除特定日期
我想放弃一年中的这些特定日子

array(['2020-01-02', '2020-01-03', '2020-01-04',
   '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08',
   '2020-01-09', '2020-01-11', '2020-01-12','2020-01-13'
   '2020-01-14', '2020-01-15', '2020-01-16'])

所以我使用dates_list = [dt.datetime.strptime(date, "%Y-%m-%d").date() for date in day]and 还使用year['day'] = pd.to_datetime(year['day'])make str 到日期时间

然后放下year.drop(dates_list)

但是我哪里做错了??

【问题讨论】:

    标签: python pandas dataframe datetime


    【解决方案1】:

    要实现这一点,您可以使用 python 中的 isin() 功能。

    df = df[~df['date'].isin(dates_list)]
    

    这将基本上删除“日期”列包含日期列表中的值的所有行。

    【讨论】:

      【解决方案2】:

      当使用drop 时,您应该以索引或列标签为目标。所以要么将你的列设置为索引并删除它:

      df.set_index('year').drop(dates_list)
      

      或者loc你想要的直接:

      df.loc[~df.year.isin(dates_list)]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-17
        • 2011-10-30
        • 1970-01-01
        • 2020-06-26
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多