したがって、SQL Serverからデータを取り出し、データフレームに入力しました。すべてのデータは離散形式であり、各ステップの複数の出力値(たとえば、1000,1412,134.5,657.1 at)を使用して、一方向(0.1,0.2、... 9.8,9.9,10.0)の0.1ステップで増加します。 0.1)、(14.5、948.1、343.8/5.5) - あなたが私が何を言おうとしているのを見てほしい。1つのPandas(Python)データフレームと別のデータフレームの値を比較する必要があります
私はこれらの個々のステップを以下のようにグループ化し、グループごとに平均と標準偏差を取っています。
group = df.groupby('step').power.mean() group2 = df.groupby('step').power.std().fillna(0)
これは0.1の各ステップについての平均と標準偏差を有する2つのデータフレーム(グループ及びグループ2)になります。これは、次を使用して、各ステップの上限値と下限値を作成するために、そして簡単です:
upperlimit = group + 3*group2 lowerlimit = group - 3*group2 lowerlimit[lowerlimit<0] = 0
今、私は混乱だビットが来ます!元のデータフレームに戻って、電力値が計算された制限値を超えている行/インスタンスを削除する必要があります(0.1ステップごとに異なる上限値と下限値があることに注意してください)。
Index Power Step
0 106.0 5.0
1 200.4 5.5
2 201.4 5.6
3 226.9 5.6
4 206.8 5.6
5 177.5 5.3
6 124.0 4.9
7 121.0 4.8
8 93.9 4.7
9 135.6 5.0
10 211.1 5.6
11 265.2 6.0
12 281.4 6.2
13 417.9 6.9
14 546.0 7.4
15 619.9 7.9
16 404.4 7.1
17 241.4 5.8
18 44.3 3.9
19 72.1 4.6
20 21.1 3.3
21 6.3 2.3
22 0.0 0.8
23 0.0 0.9
24 0.0 3.2
25 0.0 4.6
26 33.3 4.2
27 97.7 4.7
28 91.0 4.7
29 105.6 4.8
30 97.4 4.6
31 126.7 5.0
32 134.3 5.0
33 133.4 5.1
34 301.8 6.3
35 298.5 6.3
36 312.1 6.5
37 505.3 7.5
38 491.8 7.3
39 404.6 6.8
40 324.3 6.6
41 347.2 6.7
42 365.3 6.8
43 279.7 6.3
44 351.4 6.8
45 350.1 6.7
46 573.5 7.9
47 490.1 7.5
48 520.4 7.6
49 548.2 7.9
は、データとデータフレームのサンプルを投稿してください。また、Pandas.DataFrame.Lookup()関数をgoogleしてください。 – Chuck
'group'と' group2'を投稿する有用で関連性の高い情報を提供する必要があります。 – Chuck