Python 如何在dataset中查找分类列和数字列的编号

Python 如何在dataset中查找分类列和数字列的编号,python,pandas,Python,Pandas,我需要找到数字列和分类列的数量 检查有多少分类列和数字列 范畴对象类型 数字整型,浮点型 布尔布尔 df = pd.read_csv("titanic.csv") 因为我只能获取带有df的列的名称。_get\u numeric\u data()。列 我需要列的总和,您可以使用columns=df.applymap(np.isreal) PassengerId True Pclass True Name False Sex Fa

我需要找到数字列和分类列的数量

检查有多少分类列和数字列

范畴对象类型

数字整型,浮点型

布尔布尔

df = pd.read_csv("titanic.csv")
因为我只能获取带有
df的列的名称。_get\u numeric\u data()。列

我需要列的总和,您可以使用
columns=df.applymap(np.isreal)

PassengerId     True
Pclass          True
Name           False
Sex            False
Age             True
SibSp           True
Parch           True
Ticket         False
Fare            True
Cabin          False
Embarked       False
dtype: bool
所有具有数值的列将返回
true
,其他列将返回
false

此外,您还可以使用

打印((列).value\u counts())

输出:

True     6
False    5
dtype: int64

这意味着is df有6个数字列和5个分类列。

首先检查每列的
dtype

df = pd.DataFrame({'float': [1.0],
                   'int': [1],
                   'datetime': [pd.Timestamp('20180310')],
                   'string': ['foo'],
                   'float2': [1.0]
                  })
df.dtypes
然后计算每种类型的数量:

df.dtypes.value_counts()

关于
df.dtypes.value\u counts()
如何具体告诉您每个数据类型有多少个?或者与
'number'
一起使用,选择所有数值,而不考虑,例如,
float
vs
int
这真的很酷@那么你的问题有答案吗?
df.dtypes.value_counts()
float64           2
datetime64[ns]    1
object            1
int64             1
dtype: int64