Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで2つの系列の平均と分散の組み合わせを見つける


それぞれサイズbとaの2つの異なるシリーズA1とA2があるとします。結合された系列の平均と分散を見つける必要があります。

したがって、入力がA1 =[24、46、35、79、13、77、35]およびA2 =[66、68、35、24、46]の場合、出力は平均=[44.1429、47.8]になります。 ]、sd =[548.694、294.56]、結合された平均=45.6667、d1_square =2.322、d2_square =4.5511、combined_var =446.056

これを解決するには、次の手順に従います-

  • 関数mean()を定義します。これには時間がかかります

    • arr要素の平均を返す

  • 関数sd()を定義します。これには時間がかかります、n

  • 合計:=0;

  • 0からnの範囲のiの場合、実行

    • 合計:=合計+((arr [i]-平均(arr))*(arr [i]-平均(arr)))

  • sdd:=合計/ n

  • sddを返す

  • メインの方法から、次のようにします-

  • n:=A1のサイズ、m:=A2のサイズ

  • mean1:=mean(A1)、mean2:=mean(A2)

  • mean1とmean2を表示する

  • sd1:=sd(A1、n)、sd2:=sd(A2、m)

  • sd1とsd2を表示する

  • CombinedMean:=(n * mean1 + m * mean2)/(n + m)

  • CombinedMeanを表示

  • d1_square:=(mean1-combinedMean)*(mean1-combinedMean)

  • d2_square:=(mean2-combinedMean)*(mean2-combinedMean)

  • d1_square、d2_squareを表示

  • comb_var:=(n *(sd1 + d1_square)+ m *(sd2 + d2_square))/(n + m)

  • comb_varを表示

理解を深めるために、次の実装を見てみましょう-

def mean(arr):
return sum(arr)/len(arr)
def sd(arr, n):
   sum = 0;
   for i in range(n):
      sum = sum + ((arr[i] - mean(arr)) * (arr[i] - mean(arr)))
   sdd = sum / n
   return sdd
def combinedVariance(A1, A2):
   n = len(A1)
   m = len(A2)
   mean1 = mean(A1)
   mean2 = mean(A2)
   print("mean_1: ", round(mean1, 2), " mean_2: ", round(mean2, 2))
   sd1 = sd(A1, n)
   sd2 = sd(A2, m)
   print("sd_1: ", round(sd1, 2)," sd_2: ", round(sd2, 2))
   combinedMean = (n * mean1 + m * mean2) / (n + m)
   print("Combined Mean: ", round(combinedMean, 2))
   d1_square = ((mean1 - combinedMean) * (mean1 - combinedMean))
   d2_square = ((mean2 - combinedMean) * (mean2 - combinedMean))
   print("d1_square: ", round(d1_square, 2), " d2_square: ", round(d2_square, 2))
   comb_var = (n * (sd1 + d1_square) + m * (sd2 + d2_square)) / (n + m)
   print("Combined Variance: ", round(comb_var, 2))
A1 = [24, 46, 35, 79, 13, 77, 35 ]
A2 = [66, 68, 35, 24, 46 ]
n = len(A1)
m = len(A2)
combinedVariance(A1, A2)

入力

[24, 46, 35, 79, 13, 77, 35 ],[66, 68, 35, 24, 46 ]

出力

mean_1: 44.14 mean_2: 47.8
sd_1: 548.69 sd_2: 294.56
Combined Mean: 45.67
d1_square: 2.32 d2_square: 4.55
Combined Variance: 446.06

  1. いいえが2の累乗であるかどうかを調べるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数nが与えられた場合、与えられた数が2の累乗であるかどうかを確認する必要があります。 アプローチ 入力数を2で割り続けます。つまり、=n/2を繰り返します。 各反復で、n%2がゼロ以外になり、nが1でない場合、nは2の累乗ではないことを確認します。 nが1になると、2の累乗になります。 以下の実装を見てみましょう- 例 def isPowerOfTwo(n):    if (n == 0):       retur

  2. Pythonデータの分析と視覚化

    Pandasは、データサイエンスと分析で最も人気のあるPythonライブラリの1つです。 Pandasライブラリは、データの操作、分析、およびクリーニングに使用されます。これは、純粋にCで記述された低レベルのNumPyを高レベルで抽象化したものです。このセクションでは、アナリストまたはデータサイエンティストとして知っておく必要のある最も重要な(最も頻繁に使用される)ことをいくつか取り上げます。 ライブラリのインストール pipを使用して必要なライブラリをインストールできます。コマンド端末で以下のコマンドを実行するだけです: pip intall pandas DataFrameとシリーズ