我正在尝试检查数据帧中特定列中任何地方是否包含特定值。我正在使用以下代码,该代码应清除包含“ 0.0”的数据。但是,似乎正在清除也不包含“ 0.0”的数据。
mydataset = mydataset[mydataset['Latitude'].astype(str).str.contains('0.0') == False]
数据示例如下。应用上述代码后,红色中突出显示的是要删除的数据。
答案 0 :(得分:1)
这是正则表达式中的问题.
是特殊字符,因此需要regex=False
或通过\
进行转义,以使用~
来反转掩码:
mydataset = mydataset[~mydataset['Latitude'].astype(str).str.contains('0.0', regex=False)]
或者:
mydataset = mydataset[~mydataset['Latitude'].astype(str).str.contains('0\.0')]
答案 1 :(得分:0)
如果您使用的是熊猫数据框,则可以通过以下方式有条件地从数据框中删除行:
mydataset = mydataset[str(mydataset.Latitude) != '0.0']
如果您要删除所有0值,而不仅仅是0.0,则不要转换为字符串,它应该删除任何0值。