如果零由数字包围,则删除 Pandas 数据框中的行(Python)

由于我使用的 API 中存在一些缺陷,有时当它应该返回数字时却返回“零”;它通过我的脚本输出(Python)的 Pandas 数据框来工作。

https://img.mukewang.com/65002b4d0001486306520284.jpg

如果零的上方和下方都被非零数字包围,那么Python式的删除行的方法是什么?我可以想到广泛的循环来解决这个问题,但这将是解决这个问题的一种非常密集的方法。

请注意,数据帧中的其他位置将存在连续的零行,这是有效的,因此这不仅仅是删除所有包含零的行的情况; 我只想删除零行(如果它们与有效非零数字的行接壤)。


守着星空守着你
浏览 94回答 1
1回答

精慕HU

假设col是您要过滤的列,其类型是str("如果是,则删除float):df = df.loc[~ (df["col"].shift(-1).ne("0.0") & df["col"].eq("0.0") & df["col"].shift(1).ne("0.0"))]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python