मैं pyspark पर नया हूं, मेरे पास नीचे के रूप में टैब है, मैं इस df के हिस्टोग्राम को प्लॉट करना चाहता हूं, एक्स अक्ष में "शब्द" शामिल होगा, जिसमें "गिनती" कॉलम शामिल होंगे। क्या तुम्हारे पास कोई विचार है ?

  word         count
  Akdeniz’in    14
  en            13287
  büyük         3168
  deniz         1276
  festivali:    6
1
tfirinci 25 फरवरी 2019, 19:43

1 उत्तर

सबसे बढ़िया उत्तर

सबसे पहले, एक शब्द गणना की कल्पना करने के लिए हिस्टोग्राम सही आरेख प्रकार नहीं है। एक चर के वितरण की कल्पना करने के लिए हिस्टोग्राम उपयोगी होते हैं, इसके विपरीत बार चार्ट का उपयोग चर की तुलना करने के लिए किया जाता है (इसे पढ़ें लेख अधिक जानकारी के लिए)। निम्नलिखित कोड से आप अपने उदाहरण के लिए एक बारचार्ट बना सकते हैं:

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

3
cronoik 25 फरवरी 2019, 19:42