大Pandas数据中心

2024-04-25 00:31:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧df

name   count    
aaaa   2000    
bbbb   1900    
cccc    900    
dddd    500    
eeee    100

我想看看从count列的中位数到10的因子内的行。

我试过df['count'].median()得到了中位数。但不知道如何继续下去。你能建议我怎么用熊猫/裸体来做这个吗。

预期产量:

name count distance from median

aaaa  2000   *****

我可以使用任何度量作为与中值的距离(与中值的绝对偏差、分位数等)。


Tags: 数据namedfcount建议因子ccccmedian
3条回答

如果要查看中值,可以使用df.describe()。50%是中值。

Median absolute deviation,

enter image description here

对于一个列,也可以使用^{}来计算,它还可以传递一个规范化常数c,在本例中,这个常数仅为1。

>>> from statsmodels.robust.scale import mad
>>> mad(df['count'], c=1)
800.0

如果你在寻找如何计算Median Absolute Deviation-

In [1]: df['dist'] = abs(df['count'] - df['count'].median())

In [2]: df
Out[2]:
   name  count  dist
0  aaaa   2000  1100
1  bbbb   1900  1000
2  cccc    900     0
3  dddd    500   400
4  eeee    100   800

In [3]: df['dist'].median()
Out[3]: 800.0

相关问题 更多 >