熊猫如何检查数据框中所有列的dtype?


76

看来dtype仅适用于pandas.DataFrame.Series,对吗?是否具有一次显示所有列的数据类型的功能?

Answers:


146

单数形式dtype是用来检查数据类型为一列。并且复数形式dtypes用于数据帧,该数据帧返回所有列的数据类型。本质上:

对于单列

dataframe.column.dtype

对于所有列

dataframe.dtypes

范例

import pandas as pd
df = pd.DataFrame({'A': [1,2,3], 'B': [True, False, False], 'C': ['a', 'b', 'c']})

df.A.dtype
# dtype('int64')
df.B.dtype
# dtype('bool')
df.C.dtype
# dtype('O')

df.dtypes
#A     int64
#B      bool
#C    object
#dtype: object

3
如果您需要所有非数字/类别列,可以通过df.dtypes[df.dtypes != 'int64'][df.dtypes != 'float64']
-nishant

2
您能否解释一下为什么列C具有对象类型而不是str?
星际骑士

@StarRider看到此答案以及它提到的pandas文档:“ Pandas使用对象dtype来存储字符串
call-in-co

知道为什么我有对象作为dtype吗?
JohnAndrews

我没有意识到dtypes的相等性有点模糊。 df.C.dtype返回dtype('O'),但df.C.dtype=='object'为true。
蒂普

6

假设df是pandas DataFrame,然后一次获取所有列的非空值的数量和数据类型,请使用:

df.info()

3
正确,但仅提供摘要。没有所有列的详细信息。
纳宾
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.