如何从输入数据集中删除非数字列?

时间:2015-10-27 19:33:31

标签: python python-2.7 pandas

例如,如果我想考虑花种,花瓣数,发芽时间和用户threaddump,那么用户ID将会有一个连字符。所以在我的数据分析中,我不想使用它。我知道我可以硬编码,但我想在输入任何数据集时这样做,它会自动删除ID个输入的列。

编辑:不明确的问题。我正在使用pandas从csv文件中读取数据。

示例:

non-numeric

我想从 Species NPetals GermTime UserID 1 R. G 5 4 65-78 2 R. F 5 3 65-81 中删除UserIDSpecies列。

1 个答案:

答案 0 :(得分:1)

从文档中,您只需使用select_dtypes进行过滤即可选择数字数据:

In [5]:
df = pd.DataFrame({'a': np.random.randn(6).astype('f4'),'b': [True, False] * 3,'c': [1.0, 2.0] * 3})
df

Out[5]:
          a      b  c
0  0.338710   True  1
1  1.530095  False  2
2 -0.048261   True  1
3 -0.505742  False  2
4  0.729667   True  1
5 -0.634482  False  2

In [15]:    
df.select_dtypes(include=[np.number])

Out[15]:
          a  c
0  0.338710  1
1  1.530095  2
2 -0.048261  1
3 -0.505742  2
4  0.729667  1
5 -0.634482  2

您可以传递任何有效的np dtype hierarchy