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:如何将列设置为索引

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注