我需要清理数据框并删除所有没有数字数据的列。我将列分类为“对象”,有些标记为int / float,但主要包含NaN。我想只保留填充数字的列。有办法吗?
答案 0 :(得分:3)
使用select_dtypes
并传递np.number
仅过滤数字类型:
In [69]:
df = pd.DataFrame({'int':np.arange(5), 'float':np.random.randn(5), 'str':list('abcde')})
df
Out[69]:
float int str
0 0.987218 0 a
1 0.336119 1 b
2 1.800194 2 c
3 4.566850 3 d
4 -0.306808 4 e
In [71]:
df.select_dtypes([np.number])
Out[71]:
float int
0 0.987218 0
1 0.336119 1
2 1.800194 2
3 4.566850 3
4 -0.306808 4
中的任何类型
要删除包含任何NaN
的列,您可以致电dropna(axis=1)
感谢@Leb