我想将不是浮点类型的行放在一列中,该怎么做?提前致谢。
a b c
1 1.2 2.2 3.3
2 rvtg 1.2 2.2
3 2.2 2.2 1.6
因为单元格“ a2”是rvtg,而不是浮点数,所以我想删除第2行,我尝试了一些代码,但给出了错误消息,任何人都可以帮忙吗?谢谢。
答案 0 :(得分:4)
应用pd.to_numeric并删除NaN。请注意,这是一个更通用的解决方案。如果知道哪个列应具有非数字值,则可以避免使用apply。
df.apply(pd.to_numeric, errors = 'coerce').dropna()
a b c
1 1.2 2.2 3.3
3 2.2 2.2 1.6
编辑:由于仅列a
可能包含非数字值,所以一种更有效的解决方案是将列a
转换为数字,而不是将函数应用于所有列。以下将返回相同的输出。
df['a'] = pd.to_numeric(df['a'], errors = 'coerce')
df.dropna(inplace = True)