преобразования не могут давать агрегированные результаты с лямбда-функцией, которая выдает одно число - PullRequest
0 голосов
/ 02 мая 2020

У меня есть набор данных df_age, как показано ниже: введите описание изображения здесь

Я вычисляю стандартное использование гадания ниже команды:

{
df_age['1.96*std'] = a.transform(lambda x: **1.96*x.std()**)
} 

Я понял, что вывод лямбда-функция - это число с плавающей точкой, одно число. Что делает функция «transform», она должна возвращать фрейм данных той же длины, что и df_age ['Age'] .... Однако я не знаю, где произошла ошибка. Я получил эту ошибку: ValueError: transforms не может дать агрегированные результаты

Я попытался изменить исходное вычисление следующим образом:

{
df_age['1.96*std'] = df_age['Age'].transform(lambda x: **x - 1.96*x.std()**)
}

, выход лямбда-функции которого будет иметь такую ​​же длину, что и df_age ['Age'], а не одно число. На этот раз ошибки нет.

Кажется, что вывод лямбды: единственное число вызвало проблему ....

Так что мой вопрос, почему я получил ошибку в первом вычислении ? Не будет ли сама функция преобразования генерировать информационный кадр той же длины со входом?

Заранее спасибо!

...