当前位置: 首页 > 知识库问答 >
问题:

如何将数组的每个值复制一定次数(行/列上的迭代)?

顾高扬
2023-03-14

我想迭代我现有数组的每个值。每个值应该以两种方式(列/行)复制一定次数。可以说,我想增加分辨率。

理解我的描述的简单示例:

array = np.array([[1, 2],[1,2]]) # Factor 3 

结果应该是:

arraynew = np.array([[1,1,1,2,2,2],[1,1,1,2,2,2],[1,1,1,2,2,2]])

除了这个例子,我还必须处理一个更大的数组,所以手动操作是不可行的。

共有2个答案

骆雅昶
2023-03-14
a = [1, 2]

factor = 3

def solv_the_problem(factor):
    x=[]
    y = []
    for i in a:
        for _ in range(0, factor):
            x.append(i)

    for _ in range(0, factor):
        y.append(x)

    return y

vector = solv_the_problem(factor)
print(vector)
卢黎明
2023-03-14

如果您想将数组放大整数倍,可以使用Kroenecker产品。

import numpy as np

array = np.array([[1, 2],[1,2]]) # Factor 3 
factor = 3

np.kron(array, np.ones((factor, factor)))

# array([[1., 1., 1., 2., 2., 2.],
#        [1., 1., 1., 2., 2., 2.],
#        [1., 1., 1., 2., 2., 2.],
#        [1., 1., 1., 2., 2., 2.],
#        [1., 1., 1., 2., 2., 2.],
#        [1., 1., 1., 2., 2., 2.]])

注意:您可以自由地通过不同的因素改变(因子,因子)元组来增加dim01,例如设置它(3,2)

参见np的文档。克朗

如果要将非整数倍放大并使用图像,则可能需要使用插值缩放,例如scipy。杂项。调整大小。

 类似资料:
  • 我有一个等于10的天数,我有一个周天数数组“周一”、“周二”、“周三”、“周四”、“周五”。现在我想重复这个数组10次。例如,如果天=9,则数组将打印“周一”、“周二”、“周三”、“周四”、“周五”、“周一”、“周二”、“周三”、“周四” 这是我已经尝试过的代码 我拿回来的结果是 但我期待的结果是

  • 对朱莉娅来说是新来的,所以这可能很容易。 我有一个n×m的数组和一个长度为n的向量,我想在向量的对应元素中重复数组的每一行的次数。例如: 结果应该是6乘6的数组。我尝试了功能,但是 生成一个数组,因此需要作为重复元素的维度。在matlab中,我会使用,我希望julia提供类似的东西。我的实际矩阵要大得多,我需要多次调用该函数,所以这个操作需要尽可能快。

  • 有一种方法可以将特定的数字从一个数组复制到另一个数组吗? 例如: 我有一个数组 ,我想将奇数和偶数复制到不同的数组中。因此,结果应该是

  • 我有这样的家庭作业问题: 以下数据表示地震的里氏标度数据。编写一个程序来计算和打印任何有效地震数据的平均值。 将里氏震级值存储在名为quakeLevels的双精度数组中。 不幸的是,已知您的地震仪有时会产生不可靠的读数(例如本例中的值10.1)。因此,您决定抛弃最大和最小读数。 您的程序应执行以下操作: 使用以下数据声明并初始化 quakeLevels 数组。{ 5.6, 6.2, 4.0, 5.

  • 问题内容: 我需要遍历for循环的每次迭代的值集,但仅对于第一次迭代,它可以正常工作。此后返回。 我很清楚这种行为。 一种解决方案是在for循环中调用方法,因此对于每个for循环迭代,都会对其进行初始化。但这是非常无效的方法,因为它是独立的。 我尝试了此方法,但由于它仅包含参考,因此也无法正常工作。 有什么方法可以将迭代器复制到另一个或其他更好的方法中? 问题答案: An 是可能的最小API,可以

  • 假设我有一个如下形式的numpy数组: 我想找到第一个索引的索引(对于每一列),其中的值是非零的。 因此,在本例中,我希望返回以下内容: 我该怎么办?