0
我試圖使用numpy(和numpy)使用cutoffs
中的邊來分割矢量y
。將y
和g
定義爲列向量,但將a
作爲行向量返回。運行g += a.transpose()
通過引入100x100陣列生成形狀一致性錯誤(複製如下)。必須有一個更加優雅的方式來完成這個任務。謝謝。將矢量值分配給numpy中的段
y = np.random.uniform(0,1,100)
cutoffs = np.random.uniform(0,1,3)
cutoffs.sort()
g = np.zeros(y.size)
for c in np.hstack([ cutoffs , 1. ]):
a = np.array([ y < c ])
g += a.transpose()
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
ValueError: non-broadcastable output operand with shape (100,) doesn't match the broadcast shape (100,100)
你到底要完成什麼? ...關於錯誤,您需要修改代碼如下... – plonser 2015-03-02 17:24:34
感謝您的答案。目標是將段分配給'y',然後'將'函數映射到這些段的每一個,類似於R中的'tapply()'。 – user2105469 2015-03-02 18:15:59