真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python三維函數(shù) python三維數(shù)組怎么理解

python三維卷積可以用什么函數(shù)? matlab只要用convn

寫了一個(gè)輸入和卷積核dim=2是一樣的(都是3)的卷積函數(shù),可以試試多加一個(gè)for循環(huán)變成三維卷積

創(chuàng)新互聯(lián)成立與2013年,我們提供高端網(wǎng)站建設(shè)、小程序制作、電商視覺(jué)設(shè)計(jì)、成都APP應(yīng)用開(kāi)發(fā)及網(wǎng)絡(luò)營(yíng)銷搜索優(yōu)化服務(wù),在傳統(tǒng)互聯(lián)網(wǎng)與移動(dòng)互聯(lián)網(wǎng)發(fā)展的背景下,我們堅(jiān)守著用標(biāo)準(zhǔn)的設(shè)計(jì)方案與技術(shù)開(kāi)發(fā)實(shí)力作基礎(chǔ),以企業(yè)及品牌的互聯(lián)網(wǎng)商業(yè)目標(biāo)為核心,為客戶打造具商業(yè)價(jià)值與用戶體驗(yàn)的互聯(lián)網(wǎng)+產(chǎn)品。

def conv3D(image, filter):

'''

三維卷積

:param image: 輸入,shape為 [h,w,c], c=3

:param filter: ?卷積核,shape為 [x,y,z], z=3

:return:

'''

h, w, c = image.shape

x, y, z = filter.shape

height_new = h - x + 1 ?# 輸出 h

width_new = w - y + 1 ?# 輸出 w

image_new = np.zeros((height_new, width_new), dtype=np.float)

for i in range(height_new):

for j in range(width_new):

r = np.sum(image[i:i+x, j:j+x, 0] * filter[:,:,0])

g = np.sum(image[i:i+y, j:j+y, 1] * filter[:,:,1])

b = np.sum(image[i:i+z, j:j+z, 2] * filter[:,:,2])

image_new[i, j] = np.sum([r,g,b])

image_new = image_new.clip(0, 255)

image_new = np.rint(image_new).astype('uint8')

return image_new

Python怎么生成三維數(shù)

1、創(chuàng)建一般的多維數(shù)組

import?numpy?as?np

a?=?np.array([1,2,3],?dtype=int)??#?創(chuàng)建1*3維數(shù)組???array([1,2,3])

type(a)??#?numpy.ndarray類型

a.shape??#?維數(shù)信息(3L,)

a.dtype.name???#?'int32'

a.size???#?元素個(gè)數(shù):3

a.itemsize??#每個(gè)元素所占用的字節(jié)數(shù)目:4

b=np.array([[1,2,3],[4,5,6]],dtype=int)??#?創(chuàng)建2*3維數(shù)組??array([[1,2,3],[4,5,6]])

b.shape??#?維數(shù)信息(2L,3L)

b.size???#?元素個(gè)數(shù):6

b.itemsize???#?每個(gè)元素所占用的字節(jié)數(shù)目:4

c=np.array([[1,2,3],[4,5,6]],dtype='int16')??#?創(chuàng)建2*3維數(shù)組??array([[1,2,3],[4,5,6]],dtype=int16)

c.shape??#?維數(shù)信息(2L,3L)

c.size???#?元素個(gè)數(shù):6

c.itemsize???#?每個(gè)元素所占用的字節(jié)數(shù)目:2

c.ndim??#?維數(shù)

d=np.array([[1,2,3],[4,5,6]],dtype=complex)????#??復(fù)數(shù)二維數(shù)組

d.itemsize??#?每個(gè)元素所占用的字節(jié)數(shù)目:16

d.dtype.name??#?元素類型:'complex128'

2、創(chuàng)建一般的多維數(shù)組

import?numpy?as?np

a?=?np.array([1,2,3],?dtype=int)??#?創(chuàng)建1*3維數(shù)組???array([1,2,3])

type(a)??#?numpy.ndarray類型

a.shape??#?維數(shù)信息(3L,)

a.dtype.name???#?'int32'

a.size???#?元素個(gè)數(shù):3

a.itemsize??#每個(gè)元素所占用的字節(jié)數(shù)目:4

b=np.array([[1,2,3],[4,5,6]],dtype=int)??#?創(chuàng)建2*3維數(shù)組??array([[1,2,3],[4,5,6]])

b.shape??#?維數(shù)信息(2L,3L)

b.size???#?元素個(gè)數(shù):6

b.itemsize???#?每個(gè)元素所占用的字節(jié)數(shù)目:4

c=np.array([[1,2,3],[4,5,6]],dtype='int16')??#?創(chuàng)建2*3維數(shù)組??array([[1,2,3],[4,5,6]],dtype=int16)

c.shape??#?維數(shù)信息(2L,3L)

c.size???#?元素個(gè)數(shù):6

c.itemsize???#?每個(gè)元素所占用的字節(jié)數(shù)目:2

c.ndim??#?維數(shù)

d=np.array([[1,2,3],[4,5,6]],dtype=complex)????#??復(fù)數(shù)二維數(shù)組

d.itemsize??#?每個(gè)元素所占用的字節(jié)數(shù)目:16

d.dtype.name??#?元素類型:'complex128'

3、創(chuàng)建特殊類型的多維數(shù)組

 a1?=?np.zeros((3,4))????#?創(chuàng)建3*4全零二維數(shù)組

輸出:

array([[?0.,??0.,??0.,??0.],

[?0.,??0.,??0.,??0.],

[?0.,??0.,??0.,??0.]])

a1.dtype.name???#?元素類型:'float64'

a1.size??#?元素個(gè)數(shù):12

a1.itemsize??#?每個(gè)元素所占用的字節(jié)個(gè)數(shù):8

a2?=?np.ones((2,3,4),?dtype=np.int16)??#?創(chuàng)建2*3*4全1三維數(shù)組

a2?=?np.ones((2,3,4),?dtype='int16')?????#?創(chuàng)建2*3*4全1三維數(shù)組

輸出:

array([[[1,?1,?1,?1],

[1,?1,?1,?1],

[1,?1,?1,?1]],

[[1,?1,?1,?1],

[1,?1,?1,?1],

[1,?1,?1,?1]]],?dtype=int16)

a3?=?np.empty((2,3))??#?創(chuàng)建2*3的未初始化二維數(shù)組

輸出:(may?vary)

array([[?1.,??2.,??3.],

[?4.,??5.,??6.]])

a4?=?np.arange(10,30,5)???#?初始值10,結(jié)束值:30(不包含),步長(zhǎng):5

輸出:array([10,?15,?20,?25])

a5?=?np.arange(0,2,0.3)????#?初始值0,結(jié)束值:2(不包含),步長(zhǎng):0.2

輸出:array([?0.?,??0.3,??0.6,??0.9,??1.2,??1.5,??1.8])

from?numpy?import?pi

np.linspace(0,?2,?9)???#?初始值0,結(jié)束值:2(包含),元素個(gè)數(shù):9

輸出:

array([?0.??,??0.25,??0.5?,??0.75,??1.??,??1.25,??1.5?,??1.75,??2.??])

x?=?np.linspace(0,?2*pi,?9)

輸出:

array([?0.????????,??0.78539816,??1.57079633,??2.35619449,??3.14159265,

3.92699082,??4.71238898,??5.49778714,??6.28318531])

a?=?np.arange(6)

輸出:

array([0,?1,?2,?3,?4,?5])

b?=?np.arange(12).reshape(4,3)

輸出:

array([[?0,??1,??2],

[?3,??4,??5],

[?6,??7,??8],

[?9,?10,?11]])

c?=?np.arange(24).reshape(2,3,4)

輸出:

array([[[?0,??1,??2,??3],

[?4,??5,??6,??7],

[?8,??9,?10,?11]],

[[12,?13,?14,?15],

[16,?17,?18,?19],

[20,?21,?22,?23]]]) 

使用numpy.set_printoptions可以設(shè)置numpy變量的打印格式

在ipython環(huán)境下,使用help(numpy.set_printoptions)查詢使用幫助和示例

4、多維數(shù)組的基本操作

加法和減法操作要求操作雙方的維數(shù)信息一致,均為M*N為數(shù)組方可正確執(zhí)行操作。

a?=?np.arange(4)

輸出:

array([0,?1,?2,?3])

b?=?a**2

輸出:

array([0,?1,?4,?9])

c?=?10*np.sin(a)

輸出:

array([?0.????????,??8.41470985,??9.09297427,??1.41120008])

n??35

輸出:

array([?True,??True,??True,??True],?dtype=bool)

A?=?np.array([[1,1],[0,1]])

B?=?np.array([[2,0],[3,4]])

C?=?A?*?B????#?元素點(diǎn)乘

輸出:

array([[2,?0],

[0,?4]])

D?=?A.dot(B)???#?矩陣乘法

輸出:

array([[5,?4],

[3,?4]])

E?=?np.dot(A,B)???#?矩陣乘法

輸出:

array([[5,?4],

[3,?4]])

多維數(shù)組操作過(guò)程中的類型轉(zhuǎn)換

When operating with arrays of different types, the type of the

resulting array corresponds to the more general or precise one (a

behavior known as upcasting)

即操作不同類型的多維數(shù)組時(shí),結(jié)果自動(dòng)轉(zhuǎn)換為精度更高類型的數(shù)組,即upcasting

數(shù)組索引、切片和迭代

a?=?np.ones((2,3),dtype=int)??????#?int32

b?=?np.random.random((2,3))?????#?float64

b?+=?a??#?正確?

a?+=?b??#?錯(cuò)誤

a?=?np.ones(3,dtype=np.int32)

b?=?np.linspace(0,pi,3)

c?=?a?+?b

d?=?np.exp(c*1j)

輸出:

array([?0.54030231+0.84147098j,?-0.84147098+0.54030231j,

-0.54030231-0.84147098j])

d.dtype.name

輸出:

'complex128'

多維數(shù)組的一元操作,如求和、求最小值、最大值等

a?=?np.random.random((2,3))

a.sum()

a.min()

a.max()

b?=?np.arange(12).reshape(3,4)

輸出:

array([[?0,??1,??2,??3],

[?4,??5,??6,??7],

[?8,??9,?10,?11]])

b.sum(axis=0)????#?按列求和

輸出:

array([12,?15,?18,?21])

b.sum(axis=1)????#?按行求和

輸出:

array([?6,?22,?38])

b.cumsum(axis=0)???#?按列進(jìn)行元素累加

輸出:

array([[?0,??1,??2,??3],

[?4,??6,??8,?10],

[12,?15,?18,?21]])

b.cumsum(axis=1)???#?按行進(jìn)行元素累加

輸出:

array([[?0,??1,??3,??6],

[?4,??9,?15,?22],

[?8,?17,?27,?38]])

universal functions

B?=?np.arange(3)

np.exp(B)

np.sqrt(B)

C?=?np.array([2.,-1.,4.])

np.add(B,C)

其他的ufunc函數(shù)包括:

all,?any,?apply_along_axis,?argmax,?argmin,?argsort,?average,?bincount,?ceil,?clip,?conj,?corrcoef,?cov,?cross,?cumprod,?cumsum,?diff,?dot,?floor,inner,?lexsort,?max,?maximum,?mean,?median,?min,?minimum,?nonzero,?outer,?prod,?re,?round,?sort,?std,?sum,?trace,?transpose,?var,vdot,?vectorize,?where

5. 數(shù)組索引、切片和迭代

a?=?np.arange(10)**3

a[2]

a[2:5]

a[::-1]?#?逆序輸出

for?i?in?a:

print?(i**(1/3.))

def?f(x,y):

return?10*x+y

b?=?np.fromfunction(f,(5,4),dtype=int)

b[2,3]

b[0:5,1]

b[:,1]

b[1:3,:]

b[-1]

c?=?np.array([[[0,1,2],[10,11,12]],[[100,101,102],[110,111,112]]])

輸出:

array([[[??0,???1,???2],

[?10,??11,??12]],

[[100,?101,?102],

[110,?111,?112]]])

c.shape

輸出:

(2L,?2L,?3L)

c[0,...]

c[0,:,:]

輸出:

array([[?0,??1,??2],

[10,?11,?12]])

c[:,:,2]

c[...,2]

輸出:

array([[??2,??12],

[102,?112]])

for?row?in?c:

print(row)

for?element?in?c.flat:

print(element)

a?=?np.floor(10*np.random.random((3,4)))

輸出:

array([[?3.,??9.,??8.,??4.],

[?2.,??1.,??4.,??6.],

[?0.,??6.,??0.,??2.]])

a.ravel()

輸出:

array([?3.,??9.,??8.,?...,??6.,??0.,??2.])

a.reshape(6,2)

輸出:

array([[?3.,??9.],

[?8.,??4.],

[?2.,??1.],

[?4.,??6.],

[?0.,??6.],

[?0.,??2.]])

a.T

輸出:

array([[?3.,??2.,??0.],

[?9.,??1.,??6.],

[?8.,??4.,??0.],

[?4.,??6.,??2.]])

a.T.shape

輸出:

(4L,?3L)

a.resize((2,6))

輸出:

array([[?3.,??9.,??8.,??4.,??2.,??1.],

[?4.,??6.,??0.,??6.,??0.,??2.]])

a.shape

輸出:

(2L,?6L)

a.reshape(3,-1)

輸出:

array([[?3.,??9.,??8.,??4.],

[?2.,??1.,??4.,??6.],

[?0.,??6.,??0.,??2.]])

詳查以下函數(shù):

ndarray.shape,?reshape,?resize,?ravel

6. 組合不同的多維數(shù)組

a?=?np.floor(10*np.random.random((2,2)))

輸出:

array([[?5.,??2.],

[?6.,??2.]])

b?=?np.floor(10*np.random.random((2,2)))

輸出:

array([[?0.,??2.],

[?4.,??1.]])

np.vstack((a,b))

輸出:

array([[?5.,??2.],

[?6.,??2.],

[?0.,??2.],

[?4.,??1.]])

np.hstack((a,b))

輸出:

array([[?5.,??2.,??0.,??2.],

[?6.,??2.,??4.,??1.]])

from?numpy?import?newaxis

np.column_stack((a,b))

輸出:

array([[?5.,??2.,??0.,??2.],

[?6.,??2.,??4.,??1.]])

a?=?np.array([4.,2.])

b?=?np.array([2.,8.])

a[:,newaxis]

輸出:

array([[?4.],

[?2.]])

b[:,newaxis]

輸出:

array([[?2.],

[?8.]])

np.column_stack((a[:,newaxis],b[:,newaxis]))

輸出:

array([[?4.,??2.],

[?2.,??8.]])

np.vstack((a[:,newaxis],b[:,newaxis]))

輸出:

array([[?4.],

[?2.],

[?2.],

[?8.]])

np.r_[1:4,0,4]

輸出:

array([1,?2,?3,?0,?4])

np.c_[np.array([[1,2,3]]),0,0,0,np.array([[4,5,6]])]

輸出:

array([[1,?2,?3,?0,?0,?0,?4,?5,?6]])

詳細(xì)使用請(qǐng)查詢以下函數(shù):

hstack,?vstack,?column_stack,?concatenate,?c_,?r_

7. 將較大的多維數(shù)組分割成較小的多維數(shù)組

a?=?np.floor(10*np.random.random((2,12)))

輸出:

array([[?9.,??7.,??9.,?...,??3.,??2.,??4.],

[?5.,??3.,??3.,?...,??9.,??7.,??7.]])

np.hsplit(a,3)

輸出:

[array([[?9.,??7.,??9.,??6.],

[?5.,??3.,??3.,??1.]]),?array([[?7.,??2.,??1.,??6.],

[?7.,??5.,??0.,??2.]]),?array([[?9.,??3.,??2.,??4.],

[?3.,??9.,??7.,??7.]])]

np.hsplit(a,(3,4))

輸出:

[array([[?9.,??7.,??9.],

[?5.,??3.,??3.]]),?array([[?6.],

[?1.]]),?array([[?7.,??2.,??1.,?...,??3.,??2.,??4.],

[?7.,??5.,??0.,?...,??9.,??7.,??7.]])]

實(shí)現(xiàn)類似功能的函數(shù)包括:

hsplit,vsplit,array_split

8. ?多維數(shù)組的復(fù)制操作

a?=?np.arange(12)

輸出:

array([?0,??1,??2,?...,??9,?10,?11])

not?copy?at?all

b?=?a

b?is?a????#?True

b.shape?=?3,4

a.shape??#?(3L,4L)

def?f(x)???#?Python?passes?mutable?objects?as?references,?so?function?calls?make?no?copy.

print(id(x))???#?id是python對(duì)象的唯一標(biāo)識(shí)符

id(a)???#?111833936L

id(b)???#?111833936L

f(a)?????#?111833936L

淺復(fù)制

c?=?a.view()

c?is?a???#?False

c.base?is?a???#?True

c.flags.owndata????#?False

c.shape?=?2,6

a.shape???#?(3L,4L)

c[0,4]?=?1234

print(a)

輸出:

array([[???0,????1,????2,????3],

[1234,????5,????6,????7],

[???8,????9,???10,???11]])

s?=?a[:,1:3]

s[:]?=?10

print(a)

輸出:

array([[???0,???10,???10,????3],

[1234,???10,???10,????7],

[???8,???10,???10,???11]])

深復(fù)制

d?=?a.copy()

d?is?a???#?False

d.base?is?a???#?False

d[0,0]?=?9999

print(a)

輸出:

array([[???0,???10,???10,????3],

[1234,???10,???10,????7],

[???8,???10,???10,???11]])

numpy基本函數(shù)和方法一覽

Array ? Creation

arange,?array,?copy,?empty,?empty_like,?eye,?fromfile,?fromfunction,?identity,?linspace,?logspace,?mgrid,?ogrid,?ones,?ones_like,?r,?zeros,zeros_like

Conversions

ndarray.astype,?atleast_1d,?atleast_2d,?atleast_3d,?mat

Manipulations

array_split,?column_stack,?concatenate,?diagonal,?dsplit,?dstack,?hsplit,?hstack,?ndarray.item,?newaxis,?ravel,?repeat,?reshape,?resize,squeeze,?swapaxes,?take,?transpose,?vsplit,?vstack

Questionsall,?any,?nonzero,?where

Ordering

argmax,?argmin,?argsort,?max,?min,?ptp,?searchsorted,?sort

Operations

choose,?compress,?cumprod,?cumsum,?inner,?ndarray.fill,?imag,?prod,?put,?putmask,?real,?sum

Basic Statistics

cov,?mean,?std,?var

Basic Linear Algebra

cross,?dot,?outer,?linalg.svd,?vdot

完整的函數(shù)和方法一覽表鏈接:

使用Python畫出一個(gè)三維的函數(shù)圖像,數(shù)據(jù)來(lái)自于一個(gè)Excel表格?

raw_input獲取的輸入是字符串,不能直接用np.array,需要用split進(jìn)行切分,然后強(qiáng)制轉(zhuǎn)化成數(shù)值類型,才能用plot函數(shù)

我把你的代碼稍微修改了一下,可能不太漂亮,不過(guò)能運(yùn)行了

x=[1,2,3]

a

=

raw_input('function')

a

=

a.split('

')#依空格對(duì)字符串a(chǎn)進(jìn)行切分,如果是用逗號(hào)分隔,則改成a.split(',')

b

=

[]

for

i

in

range(len(a)):#把切分好的字符強(qiáng)制轉(zhuǎn)化成int類型,如果是小數(shù),將int改為float

b.append(int(a[i]))

plt.plot(x,

b,

label='x',

color="green",

linewidth=1)


文章題目:python三維函數(shù) python三維數(shù)組怎么理解
網(wǎng)站地址:http://weahome.cn/article/doeoeji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部