【问题标题】:Easily converting List of lists to numpy Multidim array for big data轻松将列表列表转换为用于大数据的 numpy Multidim 数组
【发布时间】:2018-01-15 18:57:17
【问题描述】:

假设我有 '3 deep' 列表列表

len(list) --> 500
len(list[0]) --> 25
len(list[0][0]) --> 100

我想转换成一个形状为 (500, 25, 100) 的 numpy 数组。以计算方式进行此操作的最有效方法是什么?假设列表非常非常大。

【问题讨论】:

  • np.asarray()?

标签: python arrays numpy bigdata


【解决方案1】:

您的清单:

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

你的 numpy 数组:

arr = np.array(l)
#array([[[ 1,  2],
#        [ 3,  4]],
#
#      [[ 5,  6],
#       [ 7,  8]],
#
#       [[ 9, 10],
#        [11, 12]]])

【讨论】:

    【解决方案2】:

    我假设你想转换它,然后想在它的索引上运行一个循环:

    l=[[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]]
    # convert
    a=np.asarray(l)
    # loop
    for (ix,iy,iz),val in np.ndenumerate(a):
        print(ix, iy, iz, a[ix,iy,iz])
    

    给予

    0 0 0 1
    0 0 1 2
    0 1 0 3
    0 1 1 4
    1 0 0 5
    1 0 1 6
    1 1 0 7
    1 1 1 8
    2 0 0 9
    2 0 1 10
    2 1 0 11
    2 1 1 12
    

    【讨论】:

      猜你喜欢
      • 2017-03-08
      • 2015-01-07
      • 2019-08-30
      • 2019-06-11
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多