我在网站上搜索了一个解决方案,但是我找不到任何相关的东西,只有过时的代码。我是Pandas库的新手,我有下面的dataframe
作为例子:
| A|B|C|D|E级|
| --------------|--------------|--------------|--------------|--------------|
| 一百四十二|0.4分|红色|一百零八|锋|
| 一百六十四|1.3岁|绿色|九十八|后方|
| 七十一|-1.0|蓝色|二百三十四|锋|
| 一百零九|0.2分|黑色|一百二十|锋|
我想提取包含数字(整数和浮点数)的列的名称。使用第一行来实现这一点是完全可以的。因此结果应该如下所示:['A', 'B', 'D']
我尝试了以下命令来获取一些包含数字的列:
dataframe.loc[0, dataframe.dtypes == 'int64']
Out:
A 142
D 108
这样做有两个问题。首先,我只需要列的名称,而不是值。其次,这只捕获整数列。我的下一次尝试只是给出了一个错误:
dataframe.loc[0, dataframe.dtypes == 'int64' or dataframe.dtypes == 'float64']
5条答案
按热度按时间uqcuzwp81#
使用
select_dtypes
:输出:
gpfsuwkq2#
您可以使用
.dtype
然后使用.kind
,同时使用list comprehension过滤column names。应该返回
['A', 'B', 'D']
。[注意'iufc'
涵盖了有符号和无符号整数以及真实的和复数浮点数。如果你想涵盖布尔值,请添加b
,因为它们是python中int
的子类...]h5qlskok3#
根据Marcelo的评论,您可以用途:
hgb9j2n64#
另一个可能的解决方案:
输出:
rjzwgtxy5#
使用以下函数:
首先选择所有数值列,然后查找列,最后转换为列表。
df.select _dtypes(include=“number”).columns.to_list()