webentwicklung-frage-antwort-db.com.de

median des Pandas-Datenrahmens

Ich habe einen DataFrame df:

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

Ich möchte die Zeilen betrachten, die um den Faktor 10 vom Median der Zählerspalte entfernt sind.

Ich habe df['count'].median() ausprobiert und den Median ermittelt. Aber weiß nicht, wie ich weiter vorgehen soll. Können Sie mir vorschlagen, wie ich Pandas/Numpy dafür verwenden könnte?.

Erwartete Ausgabe :

name count distance from median

aaaa  2000   *****

Ich kann jedes Maß als Abstand vom Median verwenden (absolute Abweichung vom Median, Quantile usw.). 

6
Ssank

Wenn Sie suchen, wie Sie die mittlere absolute Abweichung berechnen -

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
13
ComputerFellow

Wenn Sie den Median sehen möchten, können Sie df.describe () verwenden. Der 50% -Wert ist der Median. 

1
Marjan Alavi

mittlere absolute Abweichung,

 enter image description here

für eine Spalte könnte auch mit statsmodels.robust.scale.mad berechnet werden, wobei auch eine Normalisierungskonstante c übergeben werden kann, die in diesem Fall nur 1 ist. 

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