DataFrame df
があります:
_name count
aaaa 2000
bbbb 1900
cccc 900
dddd 500
eeee 100
_
カウント列の中央値から10倍以内の行を確認します。
私はdf['count'].median()
を試して中央値を得ました。しかし、さらに進める方法がわかりません。これにpandas/numpyをどのように使用できるかを提案できますか?.
予想される出力:
_name count distance from median
aaaa 2000 *****
_
中央値からの距離(中央値からの絶対偏差、変位値など)として任意のメジャーを使用できます。
中央絶対偏差 の計算方法を探している場合-
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
中央値を見たい場合は、df.describe()を使用できます。 50%の値が中央値です。
列の場合は statsmodels.robust.scale.mad
、正規化定数c
を渡すこともできます。この場合は1です。
>>> from statsmodels.robust.scale import mad
>>> mad(df['count'], c=1)
800.0