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

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

python轉(zhuǎn)置函數(shù)是的簡(jiǎn)單介紹

python中怎樣讓數(shù)據(jù)列轉(zhuǎn)置

需求:

十余年的臨江網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整臨江建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“臨江網(wǎng)站設(shè)計(jì)”,“臨江網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

你需要轉(zhuǎn)置一個(gè)二維數(shù)組,將行列互換.

討論:

你需要確保該數(shù)組的行列數(shù)都是相同的.比如:

arr = [[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]]

列表遞推式提供了一個(gè)簡(jiǎn)便的矩陣轉(zhuǎn)置的方法:

print [[r[col] for r in arr] for col in range(len(arr[0]))]

[[1, 4, 7, 10], [2, 5, 8, 11],[3, 6, 9, 12]]

另一個(gè)更快和高級(jí)一些的方法,可以使用zip函數(shù):

print map(list,

zip(*arr))

本節(jié)提供了關(guān)于矩陣轉(zhuǎn)置的兩個(gè)方法,一個(gè)比較清晰簡(jiǎn)單,另一個(gè)比較快速但有些隱晦.

有時(shí)候,數(shù)據(jù)到來的時(shí)候使用錯(cuò)誤的方式,比如,你使用微軟的ADO接口訪問數(shù)據(jù)庫(kù),由于Python和MS在語(yǔ)言實(shí)現(xiàn)上的差別.

Getrows方法在Python中可能返回的是列值,和方法的名稱不同.本節(jié)給的出的方法就是這個(gè)問題常見的解決方案,一個(gè)更清晰,一個(gè)更快速.

在列表遞推式版本中,內(nèi)層遞推式表示選則什么(行),外層遞推式表示選擇者(列).這個(gè)過程完成后就實(shí)現(xiàn)了轉(zhuǎn)置.

在zip版本中,我們使用*arr語(yǔ)法將一維數(shù)組傳遞給zip做為參數(shù),接著,zip返回一個(gè)元組做為結(jié)果.然后我們對(duì)每一個(gè)元組使用list方法,產(chǎn)生了列表的列表(即矩陣).因?yàn)槲覀儧]有直接將zip的結(jié)果表示為list,

所以我們可以我們可以使用itertools.izip來稍微的提高效率(因?yàn)閕zip并沒有將數(shù)據(jù)在內(nèi)存中組織為列表).

import itertools

print map(list,

itertools.izip(*arr))

但是,在特定的情況下,上面的方法對(duì)效率的微弱提升不能彌補(bǔ)對(duì)復(fù)雜度的增加.

關(guān)于*args和**kwds語(yǔ)法:

*args(實(shí)際上,*號(hào)后面跟著變量名)語(yǔ)法在Python中表示傳遞任意的位置變量,當(dāng)你使用這個(gè)語(yǔ)法的時(shí)候(比如,你在定義函數(shù)時(shí)使用),Python將這個(gè)變量和一個(gè)元組綁定,并保留所有的位置信息,

而不是具體的變量.當(dāng)你使用這個(gè)方法傳遞參數(shù)時(shí),變量可以是任意的可迭代對(duì)象(其實(shí)可以是任何表達(dá)式,只要返回值是迭代器).

**kwds語(yǔ)法在Python中用于接收命名參數(shù).當(dāng)你用這個(gè)方式傳遞參數(shù)時(shí),Python將變量和一個(gè)dict綁定,保留所有命名參數(shù),而不是具體的變量值.當(dāng)你傳遞參數(shù)時(shí),變量必須是dict類型(或者是返回值為dict類型的表達(dá)式).

如果你要轉(zhuǎn)置很大的數(shù)組,使用Numeric Python或其它第三方包,它們定義了很多方法,足夠讓你頭暈的.

相關(guān)說明:

zip(...)

zip(seq1 [,

seq2 [...]]) - [(seq1[0], seq2[0] ...),

(...)]

Return a

list of tuples, where each tuple contains the i-th element

from each of

the argument sequences. The returned list is truncated

in length to

the length of the shortest argument sequence.

python中transpose是什么意思

我先來一個(gè)舉例:

arr = np.arange(16).reshape((2, 2, 4))

arr的array是這樣的

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

[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],

[12, 13, 14, 15]]])

我們對(duì)arr進(jìn)行transpose轉(zhuǎn)置,arr2 = arr.transpose((1,0,2)),結(jié)果是這樣:

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

[ 8, 9, 10, 11]],

[[ 4, 5, 6, 7],

[12, 13, 14, 15]]])

這是怎么來的呢。

arr.transpose((1,0,2))的1,0,2三個(gè)數(shù)分別代表shape()的三個(gè)數(shù)的順序,初始的shape是(2,2,4),也就是2維的2 x 4矩陣,索引分別是shape的[0],[1],[2],arr.transpose((1,0,2))之后,我們的索引就變成了shape[1][0][2],對(duì)應(yīng)shape值是shape(2,2,4),所以矩陣形狀不變。

與此同時(shí),我們矩陣的索引也發(fā)生了類似變化,如arr中的4,索引是arr[0,1,0],arr中的5是arr[0,1,1],變成arr2后,4的位置應(yīng)該是在[1,0,0],5的位置變成[1,0,1],同理8的索引從[1,0,0]變成[0,1,0]。

python transpose函數(shù)怎么用

比如,將A1:E1轉(zhuǎn)置到A3:A7

首先選定A3:A7然后輸入

=TRANSPOSE($A$1:$E$1)

最后按【組合鍵】確認(rèn)。

Python基礎(chǔ) numpy中的常見函數(shù)有哪些

有些Python小白對(duì)numpy中的常見函數(shù)不太了解,今天小編就整理出來分享給大家。

Numpy是Python的一個(gè)科學(xué)計(jì)算的庫(kù),提供了矩陣運(yùn)算的功能,其一般與Scipy、matplotlib一起使用。其實(shí),list已經(jīng)提供了類似于矩陣的表示形式,不過numpy為我們提供了更多的函數(shù)。

數(shù)組常用函數(shù)

1.where()按條件返回?cái)?shù)組的索引值

2.take(a,index)從數(shù)組a中按照索引index取值

3.linspace(a,b,N)返回一個(gè)在(a,b)范圍內(nèi)均勻分布的數(shù)組,元素個(gè)數(shù)為N個(gè)

4.a.fill()將數(shù)組的所有元素以指定的值填充

5.diff(a)返回?cái)?shù)組a相鄰元素的差值構(gòu)成的數(shù)組

6.sign(a)返回?cái)?shù)組a的每個(gè)元素的正負(fù)符號(hào)

7.piecewise(a,[condlist],[funclist])數(shù)組a根據(jù)布爾型條件condlist返回對(duì)應(yīng)元素結(jié)果

8.a.argmax(),a.argmin()返回a最大、最小元素的索引

改變數(shù)組維度

a.ravel(),a.flatten():將數(shù)組a展平成一維數(shù)組

a.shape=(m,n),a.reshape(m,n):將數(shù)組a轉(zhuǎn)換成m*n維數(shù)組

a.transpose,a.T轉(zhuǎn)置數(shù)組a

數(shù)組組合

1.hstack((a,b)),concatenate((a,b),axis=1)將數(shù)組a,b沿水平方向組合

2.vstack((a,b)),concatenate((a,b),axis=0)將數(shù)組a,b沿豎直方向組合

3.row_stack((a,b))將數(shù)組a,b按行方向組合

4.column_stack((a,b))將數(shù)組a,b按列方向組合

數(shù)組分割

1.split(a,n,axis=0),vsplit(a,n)將數(shù)組a沿垂直方向分割成n個(gè)數(shù)組

2.split(a,n,axis=1),hsplit(a,n)將數(shù)組a沿水平方向分割成n個(gè)數(shù)組

數(shù)組修剪和壓縮

1.a.clip(m,n)設(shè)置數(shù)組a的范圍為(m,n),數(shù)組中大于n的元素設(shè)定為n,小于m的元素設(shè)定為m

2.a.compress()返回根據(jù)給定條件篩選后的數(shù)組

數(shù)組屬性

1.a.dtype數(shù)組a的數(shù)據(jù)類型

2.a.shape數(shù)組a的維度

3.a.ndim數(shù)組a的維數(shù)

4.a.size數(shù)組a所含元素的總個(gè)數(shù)

5.a.itemsize數(shù)組a的元素在內(nèi)存中所占的字節(jié)數(shù)

6.a.nbytes整個(gè)數(shù)組a所占的內(nèi)存空間7.a.astype(int)轉(zhuǎn)換a數(shù)組的類型為int型

數(shù)組計(jì)算

1.average(a,weights=v)對(duì)數(shù)組a以權(quán)重v進(jìn)行加權(quán)平均

2.mean(a),max(a),min(a),middle(a),var(a),std(a)數(shù)組a的均值、最大值、最小值、中位數(shù)、方差、標(biāo)準(zhǔn)差

3.a.prod()數(shù)組a的所有元素的乘積

4.a.cumprod()數(shù)組a的元素的累積乘積

5.cov(a,b),corrcoef(a,b)數(shù)組a和b的協(xié)方差、相關(guān)系數(shù)

6.a.diagonal()查看矩陣a對(duì)角線上的元素7.a.trace()計(jì)算矩陣a的跡,即對(duì)角線元素之和

以上就是numpy中的常見函數(shù)。更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。


當(dāng)前標(biāo)題:python轉(zhuǎn)置函數(shù)是的簡(jiǎn)單介紹
文章起源:http://weahome.cn/article/doosgig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部