【发布时间】:2021-09-01 19:59:24
【问题描述】:
假设我创建了一个数据框:
In [1]: df = pd.DataFrame({'a':[1,1,1,2,2,2], 'b':[1,2,3,4,5,6]})
如果我对该数据框的分组版本进行大多数统计,它们会按预期出现:
In [2]: df.groupby('a').median()
Out[2]:
b
a
1 2
2 5
但是当我计算中值绝对偏差(疯狂)时,我得到一个额外的列'a',它全为零:
In [3]: df.groupby('a').mad()
Out[3]:
a b
a
1 0 0.666667
2 0 0.666667
mad() 函数似乎在普通数据帧上运行良好,只是在分组上运行良好。除非这是一个功能,而不是一个错误,我就是不明白。想法?
【问题讨论】:
-
可能并不重要,但只是为了澄清,pandas mad() 不是中值绝对偏差,而是平均绝对偏差。来自docs。