为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2023-09-12 17:10:59
由于我使用的 API 中存在一些缺陷,有时当它应该返回数字时却返回“零”;它通过我的脚本输出(Python)的 Pandas 数据框来工作。如果零的上方和下方都被非零数字包围,那么Python式的删除行的方法是什么?我可以想到广泛的循环来解决这个问题,但这将是解决这个问题的一种非常密集的方法。请注意,数据帧中的其他位置将存在连续的零行,这是有效的,因此这不仅仅是删除所有包含零的行的情况; 我只想删除零行(如果它们与有效非零数字的行接壤)。
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

假设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"))]



查看完整回答
反对 回复 2023-09-12
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信