删除DataFrame中包含的特定值

时间:2019-05-29 07:44:54

标签: python excel pandas

我正在尝试检查数据帧中特定列中任何地方是否包含特定值。我正在使用以下代码,该代码应清除包含“ 0.0”的数据。但是,似乎正在清除也不包含“ 0.0”的数据。

mydataset = mydataset[mydataset['Latitude'].astype(str).str.contains('0.0') == False]

数据示例如下。应用上述代码后,红色中突出显示的是要删除的数据。

Sample Data

2 个答案:

答案 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值。