如何列出DataFrame df的Name列中包含的所有数据类型
操作方法
pandas中object类型的列支持存储混合类型的取值,你可以通过遍历列元素获取实际类型后去重,得到所有存在的数据类型:
- 直接获取所有唯一的实际数据类型
# 输出Name列所有唯一的数据类型 unique_types = df['Name'].apply(type).unique() print(unique_types)
运行后会输出类似 <class 'float'> <class 'str'> 的结果,覆盖列中所有实际存在的取值类型。
- 统计每种数据类型的出现频次
如果你还需要知道不同类型的出现次数,可以用以下方法:
type_count = df['Name'].apply(type).value_counts() print(type_count)
小提示:pandas中空值
NaN本身属于浮点类型,如果你需要排除空值后统计类型,可以先做空值过滤:unique_types_without_nan = df['Name'].dropna().apply(type).unique()
- 筛选指定类型的行(可选扩展)
如果需要单独提取某一类类型的记录,可以参考以下写法:
# 筛选所有Name为浮点型的行 float_rows = df[df['Name'].apply(lambda x: isinstance(x, float))] # 筛选所有Name为字符串型的行 str_rows = df[df['Name'].apply(lambda x: isinstance(x, str))]
内容的提问来源于stack exchange,提问作者x89
相关产品推荐
相关产品推荐

