Python 查找单元格中包含重复符号的行

Python 查找单元格中包含重复符号的行,python,Python,我有一个dataframe,它有带字符串的列和带浮点数的列 单元格中的某些值有如下两个符号: -0.015-0.156==>中间的“-”不正常,两个点不正常 0.014-0.106==>中间的“-”不正常,两个点不正常 0.013.0.156==>两个点不正常 -0.015==>正常 0.013==>正常 我想找到所有值为“not ok”的行 我该怎么做呢?可能有两个点的条件。尝试使用,将error设置为强制 import pandas as pd df = pd.DataFrame(

我有一个dataframe,它有带字符串的列和带浮点数的列

单元格中的某些值有如下两个符号:

-0.015-0.156==>中间的“-”不正常,两个点不正常

0.014-0.106==>中间的“-”不正常,两个点不正常

0.013.0.156==>两个点不正常

-0.015==>正常

0.013==>正常

我想找到所有值为“not ok”的行

我该怎么做呢?可能有两个点的条件。

尝试使用,将error设置为
强制

import pandas as pd

df = pd.DataFrame(
    {"col":["-0.015-0.156", "0.014-0.106", "0.013.0.156", "-0.015", "0.013"]}
)

df.loc[pd.to_numeric(df['col'], errors='coerce').isna(), :]


还有其他规定吗?似乎你可以把规则简化为“检查它们是否是数字”。数字可以,两个点不可以,中间的字符串“-”不可以。有没有可以的字符串不是简单的十进制数字?请告诉我们什么字符串是可以的。所有字符串都可以,但我写的字符串不需要是字符串它们需要是浮动的
-0.015-0.156
0.014-0.106
0.013.0.156
只能用字符串表示,因此,一个简单的正则表达式将能够找到。这些字符串也可以表示为数字吗?不确定您在这里@AnuragDhadse要求的是什么?我的意思是您使用pd.to_numeric,我希望将数字的字符串表示转换为int或float,但很明显,这些不是数字,而是范围(可能是因为介于“-”之间)。。。
            col
0  -0.015-0.156
1   0.014-0.106
2   0.013.0.156