【问题标题】:Convert string array into 2D numpy array将字符串数组转换为二维 numpy 数组
【发布时间】:2021-10-18 09:57:06
【问题描述】:

我正面临一个奇怪的问题。 我有两个东西,m 和 mhat:

m
    [[1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1
      0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0]
     [1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0
      0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 0]]
    Mhat
    ['1' '1' '0' '1' '1' '1' '1' '1' '1' '1' '1' '0' '0' '1' '0' '0' '1' '0'
     '1' '0' '1' '0' '1' '0' '1' '0' '1' '1' '0' '1' '0' '1' '0' '0' '0' '0'
     '1' '0' '1' '1' '0' '1' '0' '1' '0' '1' '0' '1' '0' '0' '1' '0' '0' '0'
     '1' '0' '0' '1' '0' '1' '1' '1' '1' '0' '0' '1' '0' '1' '1' '1' '1' '0'
     '0' '0' '0' '1' '0' '1' '0' '0' '1' '1' '1' '1' '1' '1' '0' '1' '1' '1'
     '0' '0' '0' '0' '0' '1' '0' '1' '0' '1' '0' '0' '0' '0']

m 是一个 numpy 数组,如果是具有 n 行的整数,而 mhat 是一个具有一维且充满字符串的 numpy 数组。 正如人们所看到的,在 mhat 中,元素与 m 中的相同,但具有交替的索引。 因此,mhat[0] 是第一行的第一个元素,mhat[1] 是第二行的第一个元素,mhat[2] 是第一行的第二个元素,以此类推。

我想转换 mhat 以便我可以比较它们。 我现在有 30 行奇怪的对话,表现很糟糕,但仍然不正确,所以我放弃了它。 这里有没有人对此有一个惊人的想法?

【问题讨论】:

    标签: python-3.x numpy-ndarray


    【解决方案1】:

    这应该可行:

    l1 = [[1,2,3],[4,5,6]]
    l2 = [1,4,2,5,3,6]
    
    
    cols = 2
    newl = [[] for x in range(cols)]
    for i in range(int(len(l2)/cols)):
        for j in range(cols):
            newl[j].append(l2[i*cols + j])
    
    

    我没有将字符串转换为浮点数,但newl 将采用l1 的格式,然后您可以继续比较。

    【讨论】:

      猜你喜欢
      • 2020-07-12
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多