Лямбда-выражение для вычисления zscore в кадре данных - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть DataFrame, в котором я выполняю следующие операции:

  1. Я получаю общее количество участников в каждую минуту.

  2. Я вычисляю zscore для каждого наблюдения.

  3. Преобразование этих zscore в абсолютное значение с точностью до трех знаков после запятой.

  4. Расчет разницымежду каждым последующим zscore для выполнения условия if else.

My Dataframe выглядит следующим образом:

screeshot of my dataframe

Вопрос: есть ли способ преобразовать приведенные ниже строки кода в однострочное lambda выражение?

## The below dataframe(numpart_df) is for collecting inchannel population data for 10
## hours on which we are doing multiple checks based on the requirements.
numpart_df=num_part_obj.get_minute_by_interval(interval=14400)

## Below we are calculating the zscore for each data point for 10 hours in order to
## detect the flat line
numpart_df['zscore'] = ((numpart_df['total_musers'] - numpart_df['total_musers'].mean())
                            / numpart_df['total_musers'].std(ddof=0))

## Then we are getting teh absolute value of the z-score upto 3 decimal places.
numpart_df['zscoreabs'] =numpart_df['zscore'].apply(lambda x: round(x, 3))

## Last we are calculating the difference between each z-score in order to detect the
## flatline.
numpart_df['delta_zscoreabs']= abs(numpart_df['zscoreabs'].diff())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...