データフレームをグループ化しました。いくつかの列の値をグループ単位で置き換えることができます。 したがって、0.95パーセンタイルより大きいグループ内のすべての値を0.95パーセンタイルに置き換え、0.05パーセンタイルより小さいすべての値を0.05パーセンタイルに置き換える必要があります。
データフレームは、この(another questionから取られた例)のようになります。 二つのグループ:「1」と「2つの」Pythonのパーセンタイルに基づいて列の値を置き換えます。
A B C
0 0.719391 0.091693 one
1 0.951499 0.83716 one
2 0.975212 0.224855 one
3 0.80762 0.031284 one
4 0.63319 0.342889 one
5 0.075102 0.899291 one
6 0.502843 0.773424 one
7 0.032285 0.242476 one
8 0.794938 0.607745 one
9 0.620387 0.574222 one
10 0.446639 0.549749 two
11 0.664324 0.134041 two
12 0.622217 0.505057 two
13 0.670338 0.99087 two
14 0.281431 0.016245 two
15 0.675756 0.185967 two
16 0.145147 0.045686 two
17 0.404413 0.191482 two
18 0.94913 0.943509 two
19 0.164642 0.157013 two
このデータフレームのための結果は次のようになります。
A B C
0 0.719391 0.091693 one
1 0.951499 0.83716 one
2 0.96454115 0.224855 one
3 0.80762 0.05846805 one
4 0.63319 0.342889 one
5 0.075102 0.87133205 one
6 0.502843 0.773424 one
7 0.05155265 0.242476 one
8 0.794938 0.607745 one
9 0.620387 0.574222 one
10 0.446639 0.549749 two
11 0.664324 0.134041 two
12 0.622217 0.505057 two
13 0.670338 0.96955755 two
14 0.281431 0.02949345 two
15 0.675756 0.185967 two
16 0.15391975 0.045686 two
17 0.404413 0.191482 two
18 0.8261117 0.943509 two
19 0.164642 0.157013 two
ていることに注意してください列Aの行2,7,16、および18が置換された。列Bの行3,5,13、および14が置換されている。
大規模なデータフレームで効率的にこれを行う方法を知っている人はいますか?
おかげ
。、.....私はあなたが答えを見なかったことを誓いました....投稿前に。 – Wen
@Wel Relax、私は気にしません。私はupvoted :-) –
LOL、まだパンダのクリップを使用してより良い〜;-) – Wen