如何判断Pandas DataFrame中object类型列的元素是布尔值还是字符串
判断DataFrame中Object列的
True是布尔型还是字符串型 可以通过以下几种简单方法快速判断:
查看单个元素的类型:选取列中任意一个显示为
True的元素,用type()函数查看其类型。例如:type(df['目标列名'].iloc[0])返回
<class 'bool'>即为布尔型,返回<class 'str'>则是字符串型。统计整列的类型分布:用
apply()结合type()统计列内所有元素的类型及数量,适合排查是否存在混合类型的情况:df['目标列名'].apply(type).value_counts()输出结果会明确列出列中包含的类型及其对应数量。
利用值比较验证:直接用布尔值
True与列元素比较,布尔型的True会返回True,字符串型的'True'因类型不匹配会返回False:df['目标列名'] == True若结果全为
True,说明是布尔型;若全为False,则是字符串型。用Pandas内置函数推断类型:使用
pd.api.types.infer_dtype()函数可以更精准地推断列的实际数据类型:import pandas as pd pd.api.types.infer_dtype(df['目标列名'], skipna=True)返回
'boolean'表示是布尔型(即使列的dtype是object),返回'string'则为字符串型。
内容的提问来源于stack exchange,提问作者HuLu ViCa
相关产品推荐
相关产品推荐

