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