Колонка панд: применение функции - PullRequest
1 голос
/ 07 марта 2019

У меня есть кадр данных pandas df

df:

GROUP VALUE
 1     5
 2     2
 1     10
 2     20
 1     7

И я пытаюсь применить следующую функцию к одному из столбцов

import pandas as pd
from statsmodels import robust
import numpy as np

def madout(x):
    mad = robust.mad(x)
    median = np.median(x)
    mad_s = (abs(x - median / mad))
    return mad_s

df.VALUE.apply(madout)

, но получаю ошибку, несмотря на несколько моих попыток

AxisError: ось 0 выходит за границы массива измерения 0. Пожалуйста, помогите

1 Ответ

2 голосов
/ 07 марта 2019

apply собирается применить функцию к каждому элементу столбца df.VALUE.

Я думаю, что вы ищете:

In [8]: madout(df.VALUE)
Out[8]: 
0     3.426191
1     0.426191
2     8.426191
3    18.426191
4     5.426191
Name: VALUE, dtype: float64
...