Использование дополнительного столбца с большим количеством категорий для построения графика в гистограмме - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть фрейм данных pyspark с 3 столбцами: Violation_Location, Violation_Code и Ticket_Frequency. Однако в столбцах Violation_Code и Violation_Location есть несколько категорий (т. Е. Более 100 в каждой).

Я хотел бы получить топ-10 как Violation_Location, так и Violation_Code на основе частот билетов.

Precint = spark.sql("SELECT Violation_Location, Violation_Code, Count(*) as Ticket_Frequency from table_view2 group by Violation_Location, Violation_Code order by Ticket_Frequency desc")
Precint.show()

Violation_Location|Violation_Code|Ticket_Frequency|
+------------------+--------------+----------------+
|              null|            36|         1098296|
|              null|             7|          471754|
|              null|             5|          248774|
|                18|            14|          132123|
|               114|            21|           84051|
|                14|            14|           83664|
|                19|            46|           82640|
|                14|            69|           69006|

Пока что мне удается только построить топ-10 Violation_Location на основе Ticket_Frequency. Любая форма помощи приветствуется, спасибо!


# plot violation based on the states the cars were registered to
precintplot = Precint.toPandas()
plt.figure(figsize=(100,200))

#remove missing rows from Violation_Location first
precintplotnomiss = precintplot.dropna(subset=['Violation_Location'])
precintplotnomiss.head(10).plot(x='Violation_Location', y='Ticket_Frequency', kind='bar')
plt.title("Violations by Precint (top 10)")
plt.xlabel('Precint')
plt.ylabel('Ticket Frequency')

plt.show()

...