#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())