我想在一列中删除非浮点类型的行,该怎么做?提前致谢。
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,而不是 float ,所以我想删除第 2 行,我尝试了几个代码但它给出了错误信息,有人可以帮忙吗?谢谢。
最佳答案
应用 pd.to_numeric 并删除 NaN。请注意,这是一个更通用的解决方案。如果您知道哪一列应具有非数字值,则可以避免使用应用。
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)
关于Python Pandas 根据列的数据类型删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54938727/