如何在 pyspark 中绘制直方图
Posted
技术标签:
【中文标题】如何在 pyspark 中绘制直方图【英文标题】:how can i plot a histogram in pyspark 【发布时间】:2019-02-25 16:43:19 【问题描述】:我是 pyspark 的新手,我有如下表,我想绘制这个 df 的直方图,x 轴将包括“word”,按轴将包括“count”列。你有什么想法吗?
word count
Akdeniz’in 14
en 13287
büyük 3168
deniz 1276
festivali: 6
【问题讨论】:
Pyspark: show histogram of a data frame column的可能重复 @pault 我试过了,但我得到了与“word”列相关的错误,因此我无法绘制,有什么建议吗? 【参考方案1】:首先,直方图不是可视化字数的正确图表类型。直方图可用于可视化变量的分布,相反的条形图用于比较变量(阅读此article 了解更多信息)。使用以下代码,您可以为示例创建条形图:
from matplotlib import pyplot
l = [( 'Akdeniz’in', 14)
,('en' , 13287)
,('büyük' , 3168)
,('deniz' , 1276)
,('festivali:' , 6)]
df = spark.createDataFrame(l,['word','count'])
#Add values to a list (not recommend when you have a huge dataframe)
bla = df.collect()
#create a numeric value for every label
indexes = list(range(len(bla)))
#split words and counts to different lists
values = [r['count'] for r in bla]
labels = [r['word'] for r in bla]
#Plotting
bar_width = 0.35
pyplot.bar(indexes, values)
#add labels
labelidx = [i + bar_width for i in indexes]
pyplot.xticks(labelidx, labels)
pyplot.show()
【讨论】:
以上是关于如何在 pyspark 中绘制直方图的主要内容,如果未能解决你的问题,请参考以下文章