Вычислите среднее/медиану/мин… из фрейма данных, используя список str [среднее, минимальное, максимальное,…]

#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.

Спасибо за вашу помощь!