python - 如何从 df 中删除特定年份

标签 python pandas dataframe time grouping

df.head()

          HEAT/HOT WATER
created_date    
2015-12-31  169457.0
2016-12-31  155578.0
2017-12-31  152009.0
2018-12-31  153277.0
2019-12-31  76712.0

我想从索引中删除 2019

我已经尝试过了,但没有成功。

df = df[df['created_date'] != '2019']

最佳答案

index 转换为一系列,以便它可以支持矢量化 datetime 操作,并使用 Series.ne 检查哪些年份不是 2019

# df.index = pd.to_datetime(df.index)
df[df.index.to_series().dt.year.ne(2019)]

               HEAT/HOTWATER
2015-12-31       169457.0
2016-12-31       155578.0
2017-12-31       152009.0
2018-12-31       153277.0

或者简单地 df[df.index.year != 2019],因为索引已经是一个 DatetimeIndex,正如@piRSquared 在评论中指出的那样

关于python - 如何从 df 中删除特定年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56172782/

相关文章:

python - 如何将 nameko 依赖项传递给 SqlAlchemy 事件处理程序?

python - 根据 pandas 中的其他列内容对列进行操作

python - 在 Pandas 数据框中保留大小为 1 >= k 的 block

r - 从某些值不适用的数据框中删除列

Python:删除pandas数据框中的重复索引

python - Docker:如何调试 localhost "Internal Server Error"?

python - AttributeError : 'KeyedTuple' object has no attribute 'json' 错误

python - 删除每组中最后一个子组对应的行

python - 使用 i2c 和 Python 中断

python-3.x - 如何在每组pandas groupby对象中添加标志列