Есть ли какие-либо советы о том, как настроить мой код, чтобы вернуть правильную таблицу в виде фрейма данных?

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