我有一个数据帧与一堆浮点数和数值,但有一些行与字符混合在我试图删除。我已经将我的整个数据帧转换为字符串与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)