我有一个包含15列的数据框(其中4列为分类变量,其余为数值变量)。
我已经为每个分类变量创建了虚拟变量。现在我想找出我的新数据框中的变量数量。
我尝试计算printSchema()
的长度,但结果是NoneType
:
print type(df.printSchema())
回答:
你找的方式不对,这里有一个示例和关于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"])# Python 2:print len(df.columns) #3# Python 3print(len(df.columns)) #3
columns
提供所有列的列表,我们可以检查其长度。相比之下,printSchema
打印数据框的架构,包括列及其数据类型,如下所示:
root |-- ID: long (nullable = true) |-- TYPE: string (nullable = true) |-- CODE: string (nullable = true)