5
我有一个数据帧:计算MAD(平均绝对差)的GroupBy熊猫
Type Name Cost
A X 545
B Y 789
C Z 477
D X 640
C X 435
B Z 335
A X 850
B Y 152
我有类型[ 'A', 'B', 'C', 'd' 在我的数据帧所有这样的组合]和名称['X','Y','Z']。我用GROUPBY方法在特定的组合获得的统计在一起,就像A-X,A-Y,A-Z。这里的一些代码:
df = pd.DataFrame({'Type':['A','B','C','D','C','B','A','B'] ,'Name':['X','Y','Z','X','X','Z','X','Y'], 'Cost':[545,789,477,640,435,335,850,152]})
df.groupby(['Name','Type']).agg([mean,std])
#need to use mad instead of std
我需要消除3个以上的MADS远的意见;喜欢的东西:
test = df[np.abs(df.Cost-df.Cost.mean())<=(3*df.Cost.mad())]
我很困惑以此为df.Cost.mad()返回的整个数据,而不是特定的类型名称类别成本MAD。我怎么能把两者结合起来?
谢谢,你和unutbu的答案会产生相同的结果,尽管你的结构更紧凑。最后一行有一个错字,应该以方括号结尾。 –
不客气...感谢您的错字:-) –