繁体   English   中英

熊猫:删除多个列,只保留数字数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM