亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python關于矩陣重復賦值覆蓋問題的解決方法

系統 2094 0

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

            
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]))


          

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

那么應該怎么進行修改呢?

            
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]))


          

改成這樣就可以了。就是將初始矩陣在循環里在重新設定一遍,意思相當就是給了一次新的地址,再進行復制的話就不會覆蓋前面的結果了。

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 黄色影院免费 | 一级特级aaaa毛片免费观看 | 亚洲精品国产综合一线久久 | 久久国产乱子伦精品在 | 亚洲国产综合专区在线播一一 | 久久久久欧美精品 | 欧美日韩视频一区二区 | 女人十八一级毛片 | 九九在线精品视频播放 | 九九全国免费视频 | 国产伦乱 | 91精品国产免费久久久久久青草 | 久久这里只有 | 香蕉视频网站在线观看 | 国产天天操 | 久久久91精品国产一区二区三区 | 动漫美女h片黄动漫在线观看 | 人人干天天操 | 久久精品国产亚洲婷婷 | 女人十八毛片免费观 | 国产亚洲欧美在线观看的 | 婷婷99精品国产97久久综合 | 国产一久久香蕉国产线看观看 | 五月婷婷综合在线 | 日日夜夜天天操 | 好吊妞视频一区二区 | 九九精品免费视频 | 亚洲性激情 | 欧美成人一级 | 欧美亚洲日本国产 | 精品国产福利 | 最新亚洲精品国自产在线观看 | 国产精品福利视频免费观看 | 九九精品免费 | 色播五月激情五月 | 九九在线观看精品视频6 | 欧美理论片大全在线观看 | 操操片| 久久综合激情 | 久久精品国产一区二区三区不卡 | 午夜j |