iT邦幫忙

0

python題目請教,樣本標準差的計算

  • 分享至 

  • xImage

不好意思,因為我不是本科的學生,所以不太會做
主要是想利用for loop與ndarray計算樣本標準差,我知道有簡式能用,不過題目不准@@
目前是寫了下面這樣,跑出來的結果是32.963679507401274,在最下面三行不改的情況下,我看正解是30.888381395974083,想問看看該如何修改才好

import numpy as np
def my_std(n):
  for i in n:
    std = np.sqrt(np.sum(np.square((i- np.mean(n)))) /(len(n)-1))
  return std

np.random.seed(100)
data = np.random.randint(0,100,size=(4,5))
my_std(data)

麻煩大家了!非常感謝~~

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
淺水員
iT邦大師 6 級 ‧ 2022-10-29 10:41:48
最佳解答

把 for 拿掉即可,numpy 可以對整個 numpy.array 操作

def my_std(n):
    std = np.sqrt(np.sum(np.square(n - np.mean(n))) / (n.size - 1))
    return std

原來如此,十分感謝~

我要發表回答

立即登入回答