python - 根据 pandas 数据框索引删除数据行

标签 python pandas

因此,我试图在我的 pandas 数据框中删除一年内某一天的数据,并且我正在努力找出执行此过程的正确代码。我的数据由 6 年(2001-2007 年)每半小时的观察组成。因此,理想情况下,我想删除索引中某一天对应的 48 个观测值 ('2004-02-29')。我尝试过的常识性方法是以下方法:

    len(data)
    122640

    data = data[data.index != '2004-02-29']

    len(data)
    122639

问题是此方法仅在指定的当天删除一个观察值。我认为我错误地处理了 bool 语句,但我不确定如何修复它。有人可以在这个过程中帮助我吗?我将在下面的数据框中提供变量示例:

   2001-01-01 00:28:48         NaN
   2001-01-01 00:57:36         NaN
   2001-01-01 01:26:24         NaN
   2001-01-01 01:55:12         NaN
   2001-01-01 02:24:00         NaN
   2001-01-01 03:07:12         NaN
   ...............................
   2007-12-31 23:31:12         NaN
   2008-01-01 00:00:00         NaN
   Name: SFO3, dtype: float64

请注意,我缺少每年第一个月和最后一个月的数据。

最佳答案

有两件事: 添加对索引的日期部分的访问; 使用 datetime.date 而不是字符串。

data = data[data.index.date != datetime.date(2004,2,29)]

如果您想删除所有闰日,您可以使用如下内容:

data = data[(data.index.month != 2) & (data.index.day != 29)]

关于python - 根据 pandas 数据框索引删除数据行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35518870/

相关文章:

python使用默认函数聚合groupby

python - 将电子邮件消息解析为可读形式的 Python

Python - 使用 Qt5 构建一个简单的网络浏览器

python - 如何正确地将小时数添加到 pandas.tseries.index.DatetimeIndex?

Python - 如何从选定的行号中查找总统的平均高度?

python - 为什么pivot_table是一个属性而melt是一个函数?

python - Excel 导入 - 由文件路径/文件名引起的错误

python - Tensorflow:如何对矩阵的每个元素执行操作

python - 在哪里定义Python类,mysql连接?

python - 反转 DataFrame 列,但保持索引