1
データフレームのすべての列に平均列と標準列を追加します。残念ながら、私のコードは元の列を平均と標準の列に置き換えます。Pandas Dataframe:すべての列に平均列と標準列を追加する
np.random.seed(50)
df = pd.DataFrame(np.random.randint(0,9,size=(30, 3)), columns=list('ABC'))
print df
DF
A B C
0 0 0 1
1 4 6 5
2 6 6 5
3 2 7 4
4 3 6 4
5 1 5 0
6 6 3 2
7 3 3 3
8 2 0 3
9 2 0 3
10 0 0 7
11 3 8 7
12 4 4 0
13 0 3 3
14 1 4 5
15 7 0 3
16 5 6 1
17 4 4 4
18 5 4 6
19 3 0 5
20 8 3 6
21 2 8 8
22 5 4 7
23 8 4 4
24 2 1 8
25 7 1 5
26 8 3 3
27 5 3 6
28 8 6 0
29 8 2 1
ここから私のコードです:
https://pandas.pydata.org/pandas-docs/stable/computation.html
r = df.rolling(window=5)
print 'Agg mean and sdt df'
print r['A', 'B', 'C'].agg([np.mean, np.std])
print
出力
は、私はこれらの列「を追加する」の解決策を見つけることができませんA A_mean A_std B B_mean B_std C C_mean C_std
:
AGGがあることを意味し、SDTのDF
A B C
mean std mean std mean std
0 NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN
4 3.0 2.236068 5.0 2.828427 3.8 1.643168
5 3.2 1.923538 6.0 0.707107 3.6 2.073644
6 3.6 2.302173 5.4 1.516575 3.0 2.000000
7 3.0 1.870829 4.8 1.788854 2.6 1.673320
8 3.0 1.870829 3.4 2.302173 2.4 1.516575
9 2.8 1.923538 2.2 2.167948 2.2 1.303840
10 2.6 2.190890 1.2 1.643168 3.6 1.949359
11 2.0 1.224745 2.2 3.492850 4.6 2.190890
12 2.2 1.483240 2.4 3.577709 4.0 3.000000
13 1.8 1.788854 3.0 3.316625 4.0 3.000000
14 1.6 1.816590 3.8 2.863564 4.4 2.966479
15 3.0 2.738613 3.8 2.863564 3.6 2.607681
16 3.4 2.880972 3.4 2.190890 2.4 1.949359
17 3.4 2.880972 3.4 2.190890 3.2 1.483240
18 4.4 2.190890 3.6 2.190890 3.8 1.923538
19 4.8 1.483240 2.8 2.683282 3.8 1.923538
20 5.0 1.870829 3.4 2.190890 4.4 2.073644
21 4.4 2.302173 3.8 2.863564 5.8 1.483240
22 4.6 2.302173 3.8 2.863564 6.4 1.140175
23 5.2 2.774887 3.8 2.863564 6.0 1.581139
24 5.0 3.000000 4.0 2.549510 6.6 1.673320
25 4.8 2.774887 3.6 2.880972 6.4 1.816590
26 6.0 2.549510 2.6 1.516575 5.4 2.073644
27 6.0 2.549510 2.4 1.341641 5.2 1.923538
28 6.0 2.549510 2.8 2.049390 4.4 3.049590
29 7.2 1.303840 3.0 1.870829 3.0 2.549510
をそして私が探していますと、列(データ)です。
アドバイスをいただきありがとうございます。
これは素晴らしいです!私はあなたがaggの機能をリストアップできるかどうかはわかりませんでした。私はそれをより良く理解するために地図操作を見直します。どうもありがとう !!! – Diego
@Diego、嬉しいことに助けてもらいました:) – MaxU
何らかの理由で大きなデータセット(2080 cols)でコードを使用すると、希望の列順序が変更されました。すべての列は細かく計算されますが、異なる順序で出力されます(例:origデータ:A、BC A/B、A/C ...)出力はA、A/B平均、A/B std、A/C平均、A/C std 、平均、A標準...)。私は何が起こっているのか理解しようと何時間も過ごしました...どこを見るべきかのヒント?ありがとう! – Diego