Я пытаюсь построить набор искровых данных с помощью matplotlib после преобразования его в pandas dataframe в jupyterhub AWS EMR.
Я могу построить в одной ячейке, используя matplotlib, как показано ниже:
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
df = [1, 1.6, 3, 4.2, 5, 4, 2.5, 3, 1.5]
plt.plot(df)
Теперь приведенный выше фрагмент кода работает довольно аккуратно для меня.
После этого примера я продвинулся вперед, чтобы построить свой кадр данных панд из новой / нескольких ячеек в AWS-EMRJupyterhub, как это:
-Cell 1-
sparkDS=spark.read.parquet('s3://bucket_name/path').cache()
-Cell 2-
from pyspark.sql.functions import *
sparkDS_groupBy=sparkDS.groupBy('col1').agg(count('*').alias('count')).orderBy('col1')
pandasDF=sparkDS_groupBy.toPandas()
-cell 3-
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
plt.plot(pandasDF)
Мой код просто не работает в ячейке 3 со следующей ошибкой:
NameError: имя 'pandasDF' не определено
Кто-нибудь знает, что не так?
Почему новая ячейка в моем блокноте jupyterhub не может распознать переменную из предыдущей ячейки?
Неужели это так?нужно что-то сделать с помощью волшебной команды «% matplotlib inline» (я пробовал также с «% matplotlib notebook», но не получилось)?
ps: я использую AWS 5.19 EMR-Jupyterhub для настройки своих графиковработа.
Эта ошибка кind примерно такой же, но не дубликат Как мне заставить matplotlib работать в ноутбуке AWS EMR Jupyter?