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