вызов внутренней функции hvplot не отображается в записной книжке Jupyter

#python #pandas #holoviews #hvplot

#python #панды #holoviews #hvplot

Вопрос:

Я новичок в hvplot и пытаюсь включить вызов .hvplot() внутри определения функции, но это не работает. Следующий код работает и отображает цифру, как и ожидалось:

 import pandas as pd
import hvplot.pandas

df = pd.DataFrame([1, 5, 3, 4, 2])
df.hvplot()
 

но если я попробую что-то вроде:

 def plot(df):
    df.hvplot()
plot(df)
 

Я не получаю выходных данных. Это в записной книжке Jupyter. Чего мне не хватает?

Комментарии:

1. Способ думать об этом заключается в том, что hvplot работает так же, как строка или целое число: если вы хотите отобразить строку или целое число в записной книжке, вам нужно либо вызвать display() его, либо убедиться, что оно возвращается как значение ячейки записной книжки (т. Е. Равнозначение последней строки ячейки). То же самое для .hvplot(); он отображается, если отображается явно или возвращается как значение ячейки. Здесь значение ячейки равно None, потому что ваша функция возвращает None, поэтому ничего не отображается.

Ответ №1:

Вам нужно вернуть результат вашей функции:

 def plot(df):
    return df.hvplot()

plot(df)
 

Или:

 def plot(df):
    my_plot = df.hvplot()
    return my_plot

plot(df)
 

Комментарии:

1. В качестве альтернативы вы можете вызвать display(df.hvplot())