【问题标题】:how do I concatenate the results of a concatenated array?如何连接串联数组的结果?
【发布时间】:2022-09-23 04:57:54
【问题描述】:

我有两个矩阵(dfs):

A = [1 2 3 4
     5 6 7 8 
     9 10 11 12]

and B = [1, 2, 3]

我希望矩阵 C 在 A、B 次中重复每一行。例如,第一行,1,2,3,4 需要重复一次,第二行:5,6,7,8 两次,最后一行 3 次:

C = [1 2 3 4
     5 6 7 8
     5 6 7 8 
     9 10 11 12
     9 10 11 12
     9 10 11 12]

我的代码

for i in range(0,2401):
    g = pd.concat([df1.iloc[[i]]]*z[i], ignore_index=True)

部分这样做,除了只给我最后一行的 3 次部分,我需要连接每个连接。

下面给了我我想要的东西,但它不干净,即索引不会被忽略和凌乱。

result = []
for i in range(0,2401):
    g = pd.concat([df1.iloc[[i]]]*z[i], ignore_index=True)
    result.append(g)

    标签: group-by append concatenation


    【解决方案1】:

    如果您将矩阵编写为:

    A = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
    B = [1, 2, 3]
    C = []
    

    您可以遍历 B 并添加到 C 中,例如:

    for i in range(len(B)):
        index = 0
        while index < B[i]:
            C.append(A[i])
            index += 1
    

    其中有一个输出:

    [[1, 2, 3, 4],
     [5, 6, 7, 8],
     [5, 6, 7, 8],
     [9, 10, 11, 12],
     [9, 10, 11, 12],
     [9, 10, 11, 12]]
    

    我希望这有帮助!

    【讨论】:

      猜你喜欢
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 2012-01-01
      • 1970-01-01
      • 2010-12-16
      • 2010-11-23
      相关资源
      最近更新 更多