【问题标题】:remove the 29th of February from a dataframe with date index从具有日期索引的数据框中删除 2 月 29 日
【发布时间】:2022-09-22 21:16:44
【问题描述】:

我有这个数据框:

1/1/1990,1.9
1/2/1990,1.9
1/29/1990,1.9
1/4/1990,1.7775
1/5/1990,1.76
1/6/1990,1.76
1/7/1990,1.76
1/8/1990,1.76
1/1/1991,1.9
1/2/1991,1.9
1/29/1991,1.9
1/4/1991,1.7775
2/5/1991,1.76
2/6/1991,1.76
1/7/1991,1.76
3/29/1991,1.76
4/30/1991,1.76

更大数据库的代理。

我想删除所有关于 2 月 29 日的数据。

这就是我读取数据框的方式:

dfr = pd.read_csv(\'test.csv\', sep=\',\',index_col=0, parse_dates=True)

这是迄今为止我发现的最佳解决方案:

dfr = dfr.loc[~(dfr.index.month==2 & dfr.index.day==29)]

但是,我收到以下错误:

TypeError: unsupported operand type(s) for &: \'int\' and \'Int64Index\'

这很奇怪,因为 dfr.index.month==2 和 dfr.index.day==29 都有效。我有他们必须转换为熊猫日期的填充物,但我不知道如何。

提前感谢您的任何帮助。

    标签: python pandas datetime indexing drop


    【解决方案1】:

    你的括号不正确:

    dfr = dfr.loc[~((dfr.index.month==2) & (dfr.index.day==29))]
    

    【讨论】:

      猜你喜欢
      • 2021-03-19
      • 2021-04-26
      • 2023-02-15
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 2021-07-13
      • 1970-01-01
      • 2018-11-11
      相关资源
      最近更新 更多