ValueError: установка элемента массива с последовательностью при построении линейного графика с использованием pyspark в zeppelin

В настоящее время у меня есть этот кадр данных (df):

    +-------------------+--------+
    |       datetime_new|pkts_new|
    +-------------------+--------+
    |2018-01-04 00:00:00|    47.0|
    |2018-01-04 00:00:00|     1.0|
    |2018-01-04 00:00:00|     3.0|
    |2018-01-04 00:00:00|    40.0|
    |2018-01-04 00:01:00|     1.0|
    |2018-01-04 00:01:00|     1.0|
    |2018-01-04 00:01:00|     1.0|
    |2018-01-04 00:01:00|    49.0|
    |2018-01-04 00:01:00|    33.0|
    |2018-01-04 00:01:00|     2.0|
    +-------------------+--------+

`DataFrame[datetime_new: timestamp, pkts_new: double]`

type(t): <class 'pyspark.sql.dataframe.DataFrame'>

Я хочу построить линейную диаграмму, где ось x — datetime_new, а ось y — pkts_new. Однако, когда я использовал эту команду: plt.plot(df.select('datetime_new'),df.select('pkts_new')), я получу сообщение об ошибке: ValueError: setting an array element with a sequence.

Как построить линейный график для ?


person R_abcdefg    schedule 20.12.2018    source источник


Ответы (1)


Преобразование массива в список с помощью list(myarray)

import matplotlib.pyplot as plt    
plt.plot(data_time,time)
plt.show()
person raunak rathi    schedule 20.12.2018
comment
Если бы я набрал plt.plot(list(df.select("datetime_new")),list(df.select("pkts_new"))), ошибка все равно была бы той же - person R_abcdefg; 20.12.2018
comment
преобразовать массив в список на предыдущем этапе во время построения графика, он не будет преобразован в список, а для построения графика требуется список для оси - person raunak rathi; 20.12.2018
comment
t_dt = list(df.select("datetime_new")) t_pkt = list(df.select("pkts_new")) plt.plot(t_dt , t_pkt) plt.show() все равно выдаст мне то же сообщение об ошибке. Можете ли вы показать мне пример, пожалуйста? Спасибо - person R_abcdefg; 20.12.2018
comment
stackoverflow.com/a/22341390/4683899 перейдите по этой ссылке для преобразования - person raunak rathi; 20.12.2018
comment
plt.plot(df['datetime_new'].tolist(),df['pkts_new'].tolist()) Думаю, это поможет - person raunak rathi; 20.12.2018
comment
TypeError: объект «Столбец» не может быть вызван, потому что мой фрейм данных не является pandas. это pyspark sql - person R_abcdefg; 20.12.2018
comment
stackoverflow.com/a/49123695/4683899 это преобразование pysark в список - person raunak rathi; 20.12.2018