如何在Python中删除带有字符的行



我有一个数据帧与一堆浮点数和数值,但有一些行与字符混合在我试图删除。我已经将我的整个数据帧转换为字符串与data = data.astype(str),我已经尝试使用X = X[X.var1.isalpha()],但它给了我一个错误'Series' object has no attribute 'isalpha'。谢谢。

这就是你想要的:

df = pd.DataFrame({'a':['1','x',2,7], 'b':[2,3,'y',8]})
#   a  b
#0  1  2
#1  x  3
#2  2  y
#3  7  8
df.apply(pd.to_numeric, errors = "coerce").dropna()
#     a    b
#0  1.0  2.0
#3  7.0  8.0

基于此,你需要对你想要检查的系列调用.str,即

X.var1.str.isalpha()

您可以使用pd.Series.str.replace,它接受regex,即:

new = df.astype(str).apply(lambda x: x.str.replace('[a-zA-Z]+', '')).astype(float)                                                                                                                                                                       

最新更新