亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法

 更新時間:2019年07月19日 09:21:48   作者:古德蠟克  
這篇文章主要介紹了python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法,涉及Python深拷貝與淺拷貝相關(guān)操作與使用技巧,需要的朋友可以參考下

本文實例講述了python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法。分享給大家供大家參考,具體如下:

import itertools
import numpy as np
comb = list(itertools.combinations(list(range(regions)), 2))
bands_info = []
coeff = np.zeros([bands, len(comb)])
for cla in range(classes):
  class_info = data[:,cla*bands*regions:(cla+1)*bands*regions]
  for bs in range(bands):
    n = bs*regions
    for i in range(len(comb)):
      index1 = comb[i][0]+n
      index2 = comb[i][1]+n
      part1 = class_info[:, index1]
      part2 = class_info[:, index2]
      coeff[bs, i] = (np.corrcoef(part1, part2))[0, 1]
  bands_info.append(coeff.reshape([1,-1]))
coeff_info = np.vstack((bands_info[0], bands_info[1], bands_info[2],bands_info[3]))

例如這個循環(huán)賦值過程,最終得出來的結(jié)果是bands_info這個List里面每一個矩陣都是一樣的,這是為什么呢?我一開始也在這里糾結(jié)了很長時間,思來想去感覺沒錯的呀。后來想想以前學(xué)的C語言知識,才有點明白。原來python里面有淺層copy和深層copy這一說,同是一個矩陣的話占用的是同一個地址,在里面進行重復(fù)賦值的話前面的值都會被覆蓋掉。不只是當(dāng)前變量被覆蓋掉,就是你之后用到這個變量的也會被覆蓋。比如說你a的變量被b覆蓋了,那你后面用到a的變量的地方,a的值也會變成b的值。是不是很可怕。

那么應(yīng)該怎么進行修改呢?

import itertools
import numpy as np
comb = list(itertools.combinations(list(range(regions)), 2))
bands_info = []
for cla in range(classes):
  coeff = np.zeros([bands, len(comb)])
  class_info = data[:,cla*bands*regions:(cla+1)*bands*regions]
  for bs in range(bands):
    n = bs*regions
    for i in range(len(comb)):
      index1 = comb[i][0]+n
      index2 = comb[i][1]+n
      part1 = class_info[:, index1]
      part2 = class_info[:, index2]
      coeff[bs, i] = (np.corrcoef(part1, part2))[0, 1]
  bands_info.append(coeff.reshape([1,-1]))
coeff_info = np.vstack((bands_info[0], bands_info[1], bands_info[2],bands_info[3]))

改成這樣就可以了。就是將初始矩陣在循環(huán)里在重新設(shè)定一遍,意思相當(dāng)就是給了一次新的地址,再進行復(fù)制的話就不會覆蓋前面的結(jié)果了。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

最新評論