我想計算資料框中每一列的標準偏差,但僅限于選定的行。我想從 Excel 中反映這個公式(僅計算突出顯示的單元格的標準偏差,并將每列向下移動一個索引)

你能告訴我我應該如何構建我的回圈來做到這一點嗎?謝謝你。
uj5u.com熱心網友回復:
我會為此使用 numpy:
示例輸入:
>>> df = pd.DataFrame(np.arange(50).reshape(10,5,order='F')).add_prefix('m')
>>> df
m0 m1 m2 m3 m4
0 0 10 20 30 40
1 1 11 21 31 41
2 2 12 22 32 42
3 3 13 23 33 43
4 4 14 24 34 44
5 5 15 25 35 45
6 6 16 26 36 46
7 7 17 27 37 47
8 8 18 28 38 48
9 9 19 29 39 49
輸出(此處使用 5 行):
>>> pd.Series(np.c_[[np.diagonal(df.values, offset=-i) for i in range(5)]].std(axis=0), index=df.columns)
m0 1.414214
m1 1.414214
m2 1.414214
m3 1.414214
m4 1.414214
這通過創建一個中間陣列來作業:
>>> np.c_[[np.diagonal(df.values, offset=-i) for i in range(5)]]
array([[ 0, 11, 22, 33, 44],
[ 1, 12, 23, 34, 45],
[ 2, 13, 24, 35, 46],
[ 3, 14, 25, 36, 47],
[ 4, 15, 26, 37, 48]])
進口:
import pandas as pd
import numpy as np
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/315525.html
