Pandas:如何检查dataframe中所有列的类型
您可以使用以下方法检查 pandas DataFrame 中列的数据类型 ( dtype ):
方法一:检查列的类型
df. column_name . dtype
方法二:检查所有列的类型
df. dtypes
方法 3:检查哪些列具有特定类型
df. dtypes [df. dtypes == ' int64 ']
以下示例展示了如何将每种方法与以下 pandas DataFrame 一起使用:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'], ' points ': [18, 22, 19, 14, 14, 11], ' assists ': [5, 7, 7, 9, 12, 9], ' all_star ': [True, False, False, True, True, True]}) #view DataFrame print (df) team points assists all_star 0 A 18 5 True 1 B 22 7 False 2 C 19 7 False 3 D 14 9 True 4 E 14 12 True 5 F 11 9 True
示例1:检查列的类型
我们可以使用以下语法来检查DataFrame中仅点列的数据类型:
#check dtype of points column df. points . dtype dtype('int64')
从结果中我们可以看到点列具有整数数据类型。
示例2:检查所有列的类型
我们可以使用以下语法来检查DataFrame中所有列的数据类型:
#check dtype of all columns df. dtypes team object int64 dots assists int64 all_star bool dtype:object
从结果我们可以看出:
- team列:对象(与字符串相同)
- 点列:整数
- 辅助列:整数
- all_star列:布尔值
使用这一行代码,我们可以看到 DataFrame 中每列的数据类型。
示例 3:检查哪些列具有特定类型
我们可以使用以下语法来检查 DataFrame 中的哪些列具有 int64 数据类型:
#show all columns that have a class of int64
df. dtypes [df. dtypes == ' int64 ']
int64 dots
assists int64
dtype:object
从结果中我们可以看到,得分和助攻列都是 int64 数据类型。
我们可以使用类似的语法来检查哪些列具有其他数据类型。
例如,我们可以使用以下语法来检查 DataFrame 中的哪些列具有对象数据类型:
#show all columns that have a class of object (ie string)
df. dtypes [df. dtypes == ' O ']
team object
dtype:object
我们可以看到,只有team列的数据类型为“O”,它代表对象。
其他资源
以下教程解释了如何对 pandas DataFrame 执行其他常见操作:
Pandas:如何从 DataFrame 中获取单元格值
Pandas:获取列与值匹配的行的索引
Pandas:如何将列设置为索引