使用 str.contains 使用正则表达式检查列中的数值时出错
Error while using str.contains for checking numeric values in a column using regex
我有一个数据框。我想检查特定列是否具有数值或不使用正则表达式匹配。当我使用 str.contains
时,它会显示如下错误。检查列中的所有值是否都具有数值的正确方法是什么?
df=
Roll.No Words
20 two
30 three
40 four
50 five
60 Nan
70 Nan
df = df[df['Roll.No'].str.contains(r'[^0-9]', na=True)]
Error: AttributeError: Can only use .str accessor with string values!
您可以使用
df = df[df['Roll.No'].astype(str).str.contains(r'[^0-9]', na=True)]
使用 .astype(str)
,您将能够 运行 数字列上的正则表达式。
.str.contains(r'[^0-9]', na=True)
表达式将查找包含至少一个非数字字符(如点或逗号)的所有值。
我有一个数据框。我想检查特定列是否具有数值或不使用正则表达式匹配。当我使用 str.contains
时,它会显示如下错误。检查列中的所有值是否都具有数值的正确方法是什么?
df=
Roll.No Words
20 two
30 three
40 four
50 five
60 Nan
70 Nan
df = df[df['Roll.No'].str.contains(r'[^0-9]', na=True)]
Error: AttributeError: Can only use .str accessor with string values!
您可以使用
df = df[df['Roll.No'].astype(str).str.contains(r'[^0-9]', na=True)]
使用 .astype(str)
,您将能够 运行 数字列上的正则表达式。
.str.contains(r'[^0-9]', na=True)
表达式将查找包含至少一个非数字字符(如点或逗号)的所有值。