0
最近我遇到了一些我不太明白的Numpy練習。練習以3D陣列使用一些隨機樣本數據:什麼時候是:相當於Numpy中的完整索引向量?
import numpy as np
alpha = np.full(2000, .1)
beta = np.full(100, .1)
wordsInTopic = np.random.dirichlet(alpha, 100)
produced = np.zeros((50, 100, 2000))
for doc in range(0, 50):
topicsInDoc = np.random.dirichlet(beta)
wordsToTopic = np.random.multinomial(2000, topicsInDoc)
for topic in range(0, 100):
produced[doc, topic] = np.random.multinomial(wordsToTopic[topic], wordsInTopic[topic])
例如下面是等價的,因爲預期:
print(produced[:, np.arange(0, 100, 1), :].shape)
print(produced[:, :, :].shape)
但以下是不:
print(produced[:, np.arange(0, 100, 1), produced.sum(0).argmax(1)].shape)
print(produced[:, :, produced.sum(0).argmax(1)].shape)
有人能解釋這裏發生了什麼嗎?
':'指定沿軸的每個索引,就這些了。 –
您正在觸發前者的高級索引。去谷歌上查詢。 – Divakar