【发布时间】:2018-04-11 16:45:29
【问题描述】:
我正在尝试为我的数据框中的所有列绘制直方图。
我导入了pyspark 和matplotlib。
df 是我的数据框变量。
plt 是matplotlib.pyplot 变量
我能够为单个列绘制/绘制直方图,如下所示:
bins, counts = df.select('ColumnName').rdd.flatMap(lambda x: x).histogram(20)
plt.hist(bins[:-1], bins=bins, weights=counts)
但是当我尝试为所有变量绘制它时,我遇到了问题。这是我到目前为止的 for 循环:
for x in range(0, len(df.columns)):
bins, counts = df.select(x).rdd.flatMap(lambda x: x).histogram(20)
plt.hist(bins[:-1], bins=bins, weights=counts)
我该怎么做?提前致谢。
【问题讨论】:
-
我认为你的循环是错误的 - 尝试:
for x in df.columns:。如果这不起作用,请提供错误消息。 -
@Parfait df 是使用 spark.read.csv("csv file",inferSchema=True,header=True) 创建的
-
@pault 循环错误。您能否将其添加为答案,以便我接受?
-
@Parfait 道歉,我的目的是保持代码干净并直接指出问题所在。
标签: python apache-spark pyspark apache-spark-sql