[英]panda: dropping multiple columns and keeping only ones with numeric data
我需要清理我的数据框并删除没有数字数据的所有列。 我将列分类为“对象”,有些标记为int / float,但主要包含NaN。 我想只保留填充数字的列。 有办法吗?
使用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
这接受numpy类型层次结构中的任何类型
要删除包含任何NaN
的列,您可以调用dropna(axis=1)
感谢@Leb
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.