Python 查看Spark Dataframe列的内容

Python 查看Spark Dataframe列的内容,python,apache-spark,dataframe,pyspark,Python,Apache Spark,Dataframe,Pyspark,我用的是Spark 1.3.1 我试图在Python中查看Spark dataframe列的值。对于Spark dataframe,我可以使用df.collect()查看数据帧的内容,但是对于Spark dataframe列,没有我所能看到的最好的方法 例如,数据框df包含一个名为'zip\u code'的列。因此,我可以执行df['zip_code'],它会变成pyspark.sql.dataframe.Column类型,但我找不到查看df['zip_code']中的值的方法。您可以访问底层的

我用的是Spark 1.3.1

我试图在Python中查看Spark dataframe列的值。对于Spark dataframe,我可以使用
df.collect()
查看数据帧的内容,但是对于Spark dataframe列,没有我所能看到的最好的方法


例如,数据框
df
包含一个名为
'zip\u code'
的列。因此,我可以执行
df['zip_code']
,它会变成
pyspark.sql.dataframe.Column
类型,但我找不到查看
df['zip_code']

中的值的方法。您可以访问底层的
RDD
,并映射到它

df.rdd.map(lambda r: r.zip_code).collect()
如果不介意使用
对象包装结果,也可以使用
选择

df.select('zip_code').collect()
最后,如果您只是想检查内容,那么
show
方法就足够了:

df.select('zip_code').show()

要查看完整内容,请执行以下操作:

df.select("raw").take(1).foreach(println)
show
将向您展示一个概述)。

您可以简单地编写:

df.select('your column's name').show()
在您的情况下,它将是:

df.select('zip_code').show()

这里讨论的问题不是“如何查看数据帧的内容,而只是其中的一列?”,而是“给定一个Column类型的对象,而没有Dataframe类型的对象,如何查看该列的内容?@JordanPilat您不知道<代码>列不受任何执行计划的限制。这只不过是一个象征。回答得好!为了澄清,
Column
本身不包含任何数据,只表示一个或多个特定
DataFrame
列的一系列0或多个转换。因此,在产生它的
DataFrame
的上下文之外引用它是没有意义的。是吗?@JordanPilat它可以从一个表达式中构造出来,但最终它没有意义。考虑这一点:<代码> $“FO”< /代码>。它创建一个类为
ColumnName
的对象,它是
的子类。单凭它是没有意义的。我可以使用不同的DF进行评估,得到不同的结果(或例外情况)。如果您曾经使用R,请思考
公式