J'ai un DataFrame df
:
name count
aaaa 2000
bbbb 1900
cccc 900
dddd 500
eeee 100
Je voudrais regarder les lignes qui sont à un facteur de 10 de la médiane de la colonne de comptage.
J'ai essayé df['count'].median()
et obtenu la médiane. Mais je ne sais pas comment procéder plus loin. Pouvez-vous suggérer comment je pourrais utiliser pandas/numpy pour cela?.
Production attendue :
name count distance from median
aaaa 2000 *****
Je peux utiliser n’importe quelle mesure comme distance à la médiane (écart absolu par rapport à la médiane, quantiles, etc.).
Si vous cherchez comment calculer la déviation absolue médiane -
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
Si vous voulez voir la médiane, vous pouvez utiliser df.describe (). La valeur de 50% est la médiane.
pour une colonne, vous pouvez également calculer à l'aide de statsmodels.robust.scale.mad
, auquel on peut également appliquer une constante de normalisation c
qui, dans ce cas, n'est que de 1.
>>> from statsmodels.robust.scale import mad
>>> mad(df['count'], c=1)
800.0