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

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條評論
主站蜘蛛池模板: 国产目拍亚洲精品一区二区三区 | 欧美亚洲第一区 | 国产在线综合视频 | 国产成人毛片亚洲精品不卡 | 精品久久久中文字幕一区 | 波多野结衣手机视频一区 | 亚洲精品福利视频 | 二性视频 | 免费男女网站 | 欧洲精品视频在线观看 | 91视频中文字幕 | 国产成人免费在线观看 | 亚洲成人视 | 中文字幕精品一区二区精品 | 天天摸日日摸 | 黄色片网站视频 | 日韩欧美毛片免费看播放 | 婷婷五 在线播放 | 毛片毛片毛片毛片 | 49xxx中国妇女内谢视频 | 奇米成人影视 | 欧美亚洲国产色综合 | 亚洲国产精品婷婷久久久久 | 亚洲伊人久久综合影院2021 | 日本夜爽爽一区二区三区 | 女性成人毛片a级 | 亚洲美女视频网址 | 欧美成人综合在线 | 国产欧美成人xxx视频 | 国产99久久 | 欧美日韩一区二区三区久久 | 国产xxxx做受性欧美88 | 久久久久久久免费视频 | 性欧美高清videosex | 四虎影院免费看 | 四虎影永久在线观看精品 | 久久精品亚洲乱码伦伦中文 | 国产成人久久综合热 | 亚洲精品综合欧美一区二区三区 | 免费一级特黄特色黄大任片 | 日本二区在线观看 |