You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark DataFrame:如何快速查看指定列的数据类型?

查看PySpark DataFrame指定列类型的简便方法

不用每次通过select生成新DataFrame再调用printSchema(),有几种更直接高效的方式:

  • 用dtypes属性快速查询:
    dtypes会返回所有列名与对应类型的元组列表,直接过滤指定列即可:

    # 查询单列
    [dtype for dtype in raw_df.dtypes if dtype[0] == 'annee']
    # 查询多列
    [dtype for dtype in raw_df.dtypes if dtype[0] in ['annee', 'col2', 'col3']]
    

    输出格式类似[('annee', 'int')],直观获取类型信息。

  • 直接访问Schema对象:
    DataFrame的schema是StructType对象,可通过列名索引直接获取列的类型:

    # 获取类型对象
    raw_df.schema['annee'].dataType
    # 打印更友好的类型名称
    print(raw_df.schema['annee'].dataType.simpleString())
    

    批量查询多列时,可遍历schema的fields:

    for field in raw_df.schema.fields:
        if field.name in ['annee', 'age']:
            print(f"{field.name}: {field.dataType.simpleString()}")
    
  • 关于raw_df.annee.printSchema()无效的原因:
    raw_df.annee返回的是Column对象,而printSchema()是DataFrame专属方法,Column对象没有这个方法,因此会报错。

内容的提问来源于stack exchange,提问作者bum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:15:32