Невозможно использовать некоторые основные статистические функции в групповом агрегате Pandas. - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть эксперимент, в котором «глубина» измеряется для различных «силы» и «скорости сканирования».Пять прогонов проводятся для каждого набора переменных.

Я должен рассчитать максимальную глубину, измеренную на пяти участках, а также стандартное отклонение измерений.С этой целью я построил кадр данных Pandas следующим образом:

   force  scanspeed  depth
0    0.5         10     3.541  
1    0.5         20     2.531
2    0.5         10     3.020
3      1         10     2.130
4    0.5         20     1.502
5    0.5         10     4.102
6      2         50     2.413
...
(100+ rows)

Для этого кадра данных я хочу сгруппировать, используя столбцы force и scanspeed, и сгенерировать максимальное и стандартное отклонение для каждой группы.(есть несколько рядов с одинаковой силой и скоростью сканирования).Однако при выполнении следующей строки:

print(subframe.groupby(['force', 'scanspeed'])['depth'].agg([max, std]))

функция std не распознана, что указывает NameError: name 'std' is not defined.

Другие функции, которые не работают, включают: mean, median, corr, var, count, np.std.Я не тестировал весь спектр доступных функций, но до сих пор кажется, что только max и min работают, несмотря на то, что все эти функции поступают из одной и той же библиотеки панд (кроме np.std, конечно).

Буду признателен за любую помощь по этому вопросу.

1 Ответ

0 голосов
/ 21 февраля 2019

Если вы уверены, что np.std иначе доступен в этой области операторов, agg также позволяет вам передавать имена определенных функций в виде строк:

print(subframe.groupby(['force', 'scanspeed'])['depth'].agg([max, 'std']))

Эта строка, кажется, работает дляя, не импортируя ничего, кроме панд.


В противном случае, возможно, попробуйте вызвать как np.std([0,1]) прямо перед этим оператором, чтобы убедиться, что он также не выдает ошибку.Или вы можете попробовать вставить import numpy as np в строку прямо перед этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...