#python #pandas #syntax-error #typeerror
Вопрос:
сначала я вообще хочу уточнить, что мой вопрос очень похож на другие вопросы, заданные ранее, но я попробовал их ответы, и у меня ничего не получилось.
Я пытаюсь собрать некоторую информацию, используя для группировки более одной переменной. Я могу использовать сводную таблицу или groupby, и то, и другое подходит для этого, но я все время получаю одну и ту же ошибку.
Мой код таков:
import numpy as np vars_agrup = ['num_vars', 'list_vars', 'Modelo'] metricas = ["MAE", "MAE_perc", "MSE", "R2"] g = pd.pivot_table(df, index=vars_agrup, aggfunc=np.sum, values=metricas)
или
df.groupby(vars_agrup, as_index=False).agg(Count=('MAE','sum'))
Кроме того, я попытался использовать () вместо [], чтобы избежать создания списка, но затем программа ищет столбец с именем «num_vars», «list_vars», «Modelo», которого не существует. Я попробовал ([]) и [()]. Индекс вместо столбцов. Это всегда одно и то же: для одной переменной группировать нормально, для кратных я получаю ошибку: TypeError: unhashable type: 'list'
Конечно, все эти переменные являются столбцами df
.
Комментарии:
1. «но я попробовал их ответы, и у меня ничего не получилось». Какие вопросы вы нашли? Какие ответы вы пробовали? Какие конкретные изменения в код вы внесли , чтобы попробовать их? Что произошло в результате?
2. Пожалуйста, поделитесь, как
df
это выглядит. В противном случае мы не сможем понять или воспроизвести проблему.3. @KarlKnechtel то, что я пробовал, это то, что я объяснил: использование кортежей, кортежи в списке, список в кортежах. Кроме того, я использовал столбцы вместо индекса.