как я могу построить гистограмму в pyspark - PullRequest
0 голосов
/ 25 февраля 2019

Я новичок в pyspark, у меня есть tabe, как показано ниже, я хочу построить гистограмму этого df, ось x будет включать «word», а ось будет включать столбцы «count».У вас есть идеи?

  word         count
  Akdeniz’in    14
  en            13287
  büyük         3168
  deniz         1276
  festivali:    6

1 Ответ

0 голосов
/ 25 февраля 2019

Прежде всего, гистограмма не является правильным типом диаграммы для визуализации количества слов.Гистограммы полезны для визуального отображения распределения переменной, напротив, для сравнения переменных используются гистограммы (см. Эту статью для получения дополнительной информации).С помощью следующего кода вы можете создать диаграмму для вашего примера:

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()

Sample plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...