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的答案會產生相同的結果,儘管你的結構更緊湊。最後一行有一個錯字,應該以方括號結尾。 –
不客氣...感謝您的錯字:-) –