熊猫专栏:应用功能

时间:2019-03-07 15:34:58

标签: python pandas apply axis

我有一个熊猫数据框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 个答案:

答案 0 :(得分:2)

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