Python 使用循环将numpy数组保存到字典中
下面是我通过一个更大的数组(sortdata)进行循环,拉出各个列,并根据循环中的迭代将它们保存到字典中。我的问题是这个循环只循环并保存一列。它保存variabledict[1]数组,而不保存其他内容。sortdata数组包含四列(前两列没有相关数据,因此我在代码中省略了它们)。应该有一个variabledict[0]。任何帮助都将不胜感激 datavalues=与总列相关的浮点数 sortdata=我从中提取数据的大型阵列Python 使用循环将numpy数组保存到字典中,python,arrays,for-loop,numpy,dictionary,Python,Arrays,For Loop,Numpy,Dictionary,下面是我通过一个更大的数组(sortdata)进行循环,拉出各个列,并根据循环中的迭代将它们保存到字典中。我的问题是这个循环只循环并保存一列。它保存variabledict[1]数组,而不保存其他内容。sortdata数组包含四列(前两列没有相关数据,因此我在代码中省略了它们)。应该有一个variabledict[0]。任何帮助都将不胜感激 datavalues=与总列相关的浮点数 sortdata=我从中提取数据的大型阵列 for k in range(int(datavalues - 2))
for k in range(int(datavalues - 2)):
datavalloop = sortdata[:][0:,k + 2]
variabledict = {}
variabledict[k] = datavalloop
将
variabledict={}
置于循环外部。它在每次迭代中将字典值清除为空,只留下最后一次迭代的值。将vaiabledict置于循环之外。您每次都要重置它:
variabledict = {}
for k in range(int(datavalues - 2)):
datavalloop = sortdata[:][0:,k + 2]
variabledict[k] = datavalloop
您正在将
variabledict
重置为循环中的空dict
,因此每次它都返回到{}
,只有最后一次迭代才会在dict
中保留任何存储内容。