Python 如何从输入数据集中删除非数字列? 例如,如果我想考虑一种花卉种类、花瓣数量、发芽时间和用户 ID>代码>,用户 ID>代码>将有一个连字符。所以在我的数据分析中,我不想使用它。我知道我可以硬编码它,但我希望这样,当我输入任何数据集时,它会自动删除带有非数字输入的列

Python 如何从输入数据集中删除非数字列? 例如,如果我想考虑一种花卉种类、花瓣数量、发芽时间和用户 ID>代码>,用户 ID>代码>将有一个连字符。所以在我的数据分析中,我不想使用它。我知道我可以硬编码它,但我希望这样,当我输入任何数据集时,它会自动删除带有非数字输入的列,python,python-2.7,pandas,Python,Python 2.7,Pandas,编辑:不清楚的问题。我正在使用pandas从csv文件中读取数据 例如: Species NPetals GermTime UserID 1 R. G 5 4 65-78 2 R. F 5 3 65-81 我想从文档中删除数据集中的用户ID和物种列,您只需使用以下方法筛选数值数据: 你可以通过任何有效的你的问题很不清楚。首先,您

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

例如:

        Species    NPetals    GermTime    UserID
    1    R. G        5          4           65-78

    2    R. F        5          3           65-81

我想从文档中删除
数据集

中的
用户ID
物种
列,您只需使用以下方法筛选数值数据:


你可以通过任何有效的

你的问题很不清楚。首先,您的数据是什么格式的?SQL数据库?CSV?擅长?熊猫数据帧?请参阅页面以获取澄清此问题的帮助。很抱歉,我已经澄清了一些要点。那么
del df['Species']
del df['UserID']
有什么问题吗?对于这个特定的数据集来说,这很好,但我确实想让它更智能。如果我使用另一个数据集,它会自动删除非数字列。我不想每次更改数据集时都更改代码。因此,设置一点
if
循环测试每列的
dtype
。。。
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