【问题标题】:Saving numpy array into dictionary using loop使用循环将numpy数组保存到字典中
【发布时间】:2015-01-04 11:48:41
【问题描述】:

下面是我的循环,用于遍历更大的数组(排序数据),拉出各个列,然后根据循环中的迭代将这些列保存到字典中。我的问题是这个循环只是循环并只保存一列。它保存 variabledict[1] 数组,仅此而已。 sortdata 数组包含四列(前两列没有相关数据,所以我在代码中省略了它们)。应该有一个变量dict[0]。任何帮助将不胜感激。

datavalues = 与总列有关的浮点数

sortdata = 我正在从中提取数据的大型数组

for k in range(int(datavalues - 2)):
  datavalloop = sortdata[:][0:,k + 2]
  variabledict = {}
  variabledict[k] = datavalloop

【问题讨论】:

  • 您将variabledict 重置为循环内的空dict,因此它每次都返回{},并且只有最后一次迭代才会将任何存储在dict 中.

标签: python arrays for-loop numpy dictionary


【解决方案1】:

variabledict = {} 置于循环外。它在每次迭代时将 dictionary 值清除为 Null,只留下最后一次迭代的值。

【讨论】:

    【解决方案2】:

    将 vaiabledict 放在循环之外。您每次都在重置它:

    variabledict = {}
    for k in range(int(datavalues - 2)):
        datavalloop = sortdata[:][0:,k + 2]
        variabledict[k] = datavalloop
    

    【讨论】:

      猜你喜欢
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 2019-01-15
      • 1970-01-01
      • 2015-06-15
      • 2017-08-02
      • 2018-06-24
      相关资源
      最近更新 更多