我有一个熊猫数据框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数组的范围。 请帮助
答案 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