![](/img/trans.png)
[英]Combining two arrays of unequal sizes and storing in a third array as such
[英]Combining two unequal arrays
我使用numpy創建了兩個一維的列數組-一個具有100個單元格,第二個10000個單元格。 我現在想做的是編寫一個二維數組,其中第一個數組(每個單元有100個元素)的每個單元格都寫入了第二個數組的所有10000個值。 解釋它的小例子:
a =
[[1],
[2],
[3]]
b =
[[4],
[5]]
我想獲得:
c = [[1], [4],
[1], [5],
[2], [4],
[2], [5],
[3], [4],
[3], [5]]
我試圖找到任何解決方案,但未成功。 我希望在這里尋求幫助。 干杯,喬恩
這是你想要的嗎? 我使用函數np.repeat
重復每個單獨的元素(第一個數組),並使用np.tile
重復整個數組(第二個數組)。
>>> import numpy as np
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[4],[5]])
>>>
>>> at = np.repeat(a, len(b), axis = 0)
>>> at
array([[1],
[1],
[2],
[2],
[3],
[3]])
>>> bt = np.tile(b, (len(a), 1))
>>> bt
array([[4],
[5],
[4],
[5],
[4],
[5]])
>>> np.concatenate((at, bt), axis = 1)
array([[1, 4],
[1, 5],
[2, 4],
[2, 5],
[3, 4],
[3, 5]])
您需要itertools.product
。
In [2]: import itertools
In [3]: scipy.array(list(itertools.product([1,2,3], [4,5])))
Out[3]:
array([[1, 4],
[1, 5],
[2, 4],
[2, 5],
[3, 4],
[3, 5]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.