计算pyspark Dataframe中的列数?

时间:2017-03-15 09:01:58

标签: apache-spark machine-learning pyspark pyspark-sql

我有一个包含15列的数据框(4个分类,其余为数字)。

我为每个分类变量创建了虚拟变量。现在我想在新数据框中找到变量的数量。

我尝试计算printSchema()的长度,但是NoneType

print type(df.printSchema())

1 个答案:

答案 0 :(得分:7)

你找错了方法,以下是关于printSchema的示例: -

df = sqlContext.createDataFrame([
    (1, "A", "X1"),
    (2, "B", "X2"),
    (3, "B", "X3"),
    (1, "B", "X3"),
    (2, "C", "X2"),
    (3, "C", "X2"),
    (1, "C", "X1"),
    (1, "B", "X1"),
], ["ID", "TYPE", "CODE"])



print len(df.columns) #3

columns提供所有列的列表,我们可以检查len。相反,printSchema打印df的模式,其中包含列及其数据类型,如下所示: -

root
 |-- ID: long (nullable = true)
 |-- TYPE: string (nullable = true)
 |-- CODE: string (nullable = true)