python删除列中non的行_关于python:从pandas DataFrame中删除非数字列

本问题已经有最佳答案,请猛点这里访问。

在我的应用程序中,我加载的文本文件结构如下:

第一个非数字列(ID)

一些非数字列(字符串)

若干数值列(浮点数)

非数字列的数目是可变的。当前,我将数据加载到这样的数据框中:

source = pandas.read_table(inputfile, index_col=0)

我想一次性删除所有非数字列,而不知道它们的名称或索引,因为这可以读取它们的数据类型。这对熊猫来说是可能的还是我必须自己做饭?

相关:stackoverflow.com/q/25039626/5069869

为了避免使用私有方法,您还可以使用select_dtypes,其中可以包含或排除所需的数据类型。

在这篇文章中碰到的是同一件事。

或者在您的情况下,具体来说:source.select_dtypes(['number']) or source.select_dtypes([np.number]。

我认为这比使用私有方法要好。也许您应该添加问题的直接答案,即:source。请选择"类型"(["数字")或"来源"。请选择"类型"([numpy.number])

这应该是公认的答案,尽管另一个也可以,但这更正确,更不用说私有方法(不是API的一部分)可能随时更改。

这不是返回布尔值吗?另外,"数字"和"np.number"有什么不同(只是一个数字数组?)

这是一个私有方法,但它可以做到这一点&#

你可能感兴趣的:(python删除列中non的行)