Python 將多維陣列中大於N的資料替換成其他數

2021-10-18 20:59:35 字數 792 閱讀 2415

import numpy as np

import imageio

import time

#小於8的數等於2

#資料大小是3653*2705的二維矩陣

grid = imageio.imread(

"wp2001.tif"

)str_time = time.time(

)#最笨的方式 多重迴圈 耗時: 129.25516891479492

for i in

range(0

,len

(grid)):

for j in

range(0

,len

(grid[0]

)):if grid[i]

[j]<8:

grid[i]

[j]=

2#更快更簡便的三種方式:

#方式一 內建索引 耗時: 0.01738429069519043

grid[grid <8]

=2#方式二 np.where 耗時: 0.03576922416687012

grid = np.where(grid <8,

2, grid)

#方式三 np.putmask 0.012608051300048828

np.putmask(grid, grid <8,

2)print

("耗時:"

, time.time(

)- str_time)

print

(grid)

Python將多維列表轉字典

今天面試某公司時遇到的乙個題目 想想其實很簡單的,但是操作起來還是有點難度滴,回來驗證了一下自己的 沒問題 table month day itemname numberofitems price retailprice tax code suppliername 01 01 corporate c...

js將多維陣列轉換為一維陣列

解決方案有很多,以下來一一例舉 方法一 使用陣列的join let arr 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 console.log arr.join 輸出為 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 let newar...

Python 實現取多維陣列第n維的前幾位

現在我們有qqamsi乙個shape為 7352,9,128,1 的numpy陣列。想要取出第2維的前三個資料,構成新陣列 7352,3,128,1 我的思想是 將第2維資料轉置 transpose 到第一維,再用切片 slice 取出前三個資料,再轉置回去 print original input...