#dataframe #charts #mean
Вопрос:
Первый вопрос на этом форуме, надеюсь, он мне поможет !
Я пытаюсь определить функцию для построения радиолокационных диаграмм с помощью go.Scatterpolar()(на графике), и я хочу оставить пользователю выбор, какие данные будут отображаться. Точнее, я хотел бы, чтобы пользователь мог выбрать, какая функция из среднего, медианного, 25%, 75%, макс, мин и т. Д. Из фрейма данных, который он хочет отобразить на графике. Для этого у меня возникла идея привести аргумент в моей функции в виде def radar_charts(*my dataframe*, stats=[mean, median, min, etc..])
где цифры-это список, ул. зависимости от того, что хочет пользователь для отображения (например, означать только одно: статистика=[‘означает’], среднее и максимум: статистика=[‘значит’, ‘Макс’].
Полярному рассеянию нужен array_like в качестве входных данных для моего фрейма данных, поэтому я подумал: я добавлю в свой фрейм данных новые строки, содержащие статистику, рассчитанную с помощью df.mean (), df.std () и т. Д. для каждого параметра, заданного пользователем и который можно найти в аргументе stats
. Как только все статистические данные, необходимые пользователю, будут рассчитаны, я построю их с помощью Scatterpolar().
Мой вопрос заключается в следующем: как из каждой функции, выпущенной пользователем stats
, отредактированной пользователем, я могу добавить строку в свой фрейм данных, только если она stats
включена . Я думал о чем-то подобном:
def radar_charts(df, stats=['mean', 'max, 'min']):
if 'mean' isin stats:
df.loc['mean] = df.mean()
if 'min' isin stats:
df.loc['min] = df.min()
.......
data = [df.loc['min], df.loc['mean], df.loc['max]]
go.Scatterpolar(data)
Но я думаю, что этот код немного запутан с такой укладкой if
.
У вас, ребята, есть идея очистить этот код ? например, с другим оператором, чем if.
Спасибо за вашу помощь!