5
"チップ"データセットをジョイントプロットとしてグラフ化すると、グラフ上の上位10個の外れ値(または上位n個の外れ値)を「ヒント」データフレームからのインデックスでラベル付けしたいと思います。私は、外れ値を見つけるための残差(平均線からの距離)を計算します。この異常値の検出方法のメリットは無視してください。私は仕様に従ってグラフに注釈を付けるだけです。シボーンジョイントプロットで外れ値を注釈する
import seaborn as sns
sns.set(style="darkgrid", color_codes=True)
tips = sns.load_dataset("tips")
model = pd.ols(y=tips.tip, x=tips.total_bill)
tips['resid'] = model.resid
#indices to annotate
tips.sort_values(by=['resid'], ascending=[False]).head(5)
tips.sort_values(by=['resid'], ascending=[False]).tail(5)
%matplotlib inline
g = sns.jointplot("total_bill", "tip", data=tips, kind="reg",
xlim=(0, 60), ylim=(0, 12), color="r", size=7)
は、どのように私は、各ポイントのインデックス値によってグラフ上のトップ10の外れ値(最大5および最小の5残差)(最大残差に注釈を付けるん)これを持つ:
iterablesを 'head'と' tail'でソートして切り捨てるのは、実際のデータセットのような大規模なデータフレームの反復回数を減らすのに最適です。ありがとう –
これは本当にクールです。よくやった! – Charlie
新しいバージョンのpandasの解決策で答えを更新しました。 – ImportanceOfBeingErnest