ಠ_ಠ
萬事問噗友 python numpy 求轉
求問要怎麼用迴圈算出矩陣中每一列分別的平均值和標準差 已解決!感謝
ಠ_ಠ
拜託各位救救我
ಠ_ಠ
import numpy as np
b = np.random.randn(1000,10)

然後要寫出那10行的平均值和標準差 用迴圈....
我真的不知道要怎麼用迴圈解這題
試過
for i in b[0,:]:
print(sum(b[:,0]/1000))

可是結果會變成全部一樣的10排
所以不知道該怎麼辦中
salad6437
看不懂 幫轉
libra5287
for i in b.shape(1):
print(sum(b[:, i])/b.shape(0))
virgo3688
巢狀迴圈
virgo3688
或是如libra5287那樣、去操作I
ಠ_ಠ
libra5287: 他說 'tuple' object is not callable 沒辦法使月; ;...
virgo3688
你知道迴圈在幹嘛嗎?
virgo3688
你要試著把迴圈解構出來看每一圈在幹嘛
virgo3688
你才知道怎麼解
virgo3688
像這個題目。每一排計算的話
virgo3688
第一排算第 0,1,2,3,4,5,6,7,8,9
virgo3688
第二排算10,11,12,13,14,15....
virgo3688
第三扯算20,21,22,23.......
virgo3688
你可以看的出來其實就是 都是差10
virgo3688
那單一算一排就是sum(0,9)
virgo3688
第二排就是sum(10,19)--->sum(110,110+9)
virgo3688
第三排就是sum(20,29)-->sum(2x10,2x10+9)
virgo3688
--->sum(ix10,ix10+9) i從0到9,就可以算出所有排的sum
virgo3688
avg也是一樣作法
virgo3688
那每一個迴圈有sum有avg,就可以算標準差了
ಠ_ಠ
! 原來如此 感謝
ಠ_ಠ
1.
u = np.zeros(10)
print("平均值:")
for i in range(0,10):
u[i] = np.mean(b[:,i])
print(u)

2.
x = np.zeros(10)
print("標準差:")
for i in range(0,10):
x[i] = np.std(b[:,i]) print(x)
ಠ_ಠ
還有想問分別算出這10行資料的大於1的機率和小於1的機率並記錄在array裡面要怎麼用; ;
ಠ_ಠ
也要用迴圈; ;
virgo3688
你覺得要怎麼做?先問你
virgo3688
第一行資料大於1和小於1的機率怎麼算?
virgo3688
記在array的第幾個位置。
ಠ_ಠ
我正在查有要怎麼把大於1和小於1的數找出來合算有幾個...
virgo3688
.....不用用方法啊
virgo3688
就 if(x<1) cout++ if(x>1) countt++
virgo3688
這樣就算的出來大於1和小於1有多少了啊
ಠ_ಠ
咦等...抱 抱歉我真的看太不懂 ...
我只是一個選修了線上課程的外系生...
ಠ_ಠ
不過多虧您告訴我迴圈的用法 用剛剛解出來的結果照樣造句算出來了 感謝
ಠ_ಠ
1.
e = np.zeros(10)
for i in range(0,10):
e[i] = (b[:,i] > 1).sum()/1000
print("大於1的機率:",e)

2.
o = np.zeros(10)
for i in range(0,10):
o[i] = (b[:,i] < 1).sum()/1000
print("小於1的機率:",o)
ಠ_ಠ
前面一直想不通i是什麼裝飾變數 原來超好用的
載入新的回覆