#python #pandas #dataframe
Вопрос:
Я пытаюсь написать функцию, которая берет фрейм данных, группирует фрейм данных по столбцу, а затем упорядочивает этот столбец от наибольшего к наименьшему, используя среднее значение второго столбца. Я пытаюсь вернуть фрейм данных. Я использую как сиборна, так и панд.
Это то, что у меня есть до сих пор
def table(df, columnone, columntwo):
dfnew = df.groupby([columnone])[columntwo].nlargest()
return dfnew
Я не очень уверен, чего мне не хватает или что я должен искать. Я довольно новичок в python, и любая помощь будет признательна.
Комментарии:
1. Я думаю, что ваш вопрос лучше подходит для codereview.stackexchange.com
2. Можете ли вы опубликовать некоторые примеры данных и ожидаемый результат?
Ответ №1:
Я думаю, что вы ищете это:
def table(df, columnone, columntwo):
return df.groupby([columnone])
.mean()
.sort_values(by=[columntwo], ascending=False)
Здесь groupby
будут созданы группы, mean
будут усреднены значения в других столбцах, sort_values
будет отсортирован результирующий фрейм данных, созданный после применения groupby
.