欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的axis參數(shù)的具體使用

 更新時(shí)間:2021年12月22日 09:42:13   作者:二哥不像程序員  
在我們使用Python中的Numpy和Pandas進(jìn)行數(shù)據(jù)分析的時(shí)候,經(jīng)常會(huì)遇到axis參數(shù),本文就來介紹一下axis參數(shù)的具體使用,感興趣的可以了解一下

在我們使用Python中的Numpy和Pandas進(jìn)行數(shù)據(jù)分析的時(shí)候,經(jīng)常會(huì)遇到一個(gè)讓人感到頭痛的參數(shù)——axis,本文讓我們換一個(gè)角度來重新認(rèn)識(shí)一下axis。

一、axis簡(jiǎn)介

通常情況下我們都會(huì)賦予axis參數(shù)“軸”的概念,對(duì)于常見的二維數(shù)據(jù)來說,我們有如下的表示形式:

在這里插入圖片描述

對(duì)于這種常見的結(jié)構(gòu)來說,看上去很清晰,但是涉及到實(shí)際操作的時(shí)候就會(huì)變的難以理解,下面讓我們用色橫貨中的例子來學(xué)習(xí)一下。

二、不一樣的axis

對(duì)于axis=0

當(dāng)axis=0的時(shí)候,我們可以將數(shù)據(jù)和軸組成的整體看作是一串豎著擺放的糖葫蘆(棍垂直于水平面)示例如下圖所示:

在這里插入圖片描述

此時(shí)圖中的[1,2,3]、[4,5,6]可以分別看作是糖葫蘆的兩個(gè)果子,而紅色的軸則表示穿著果子的棍(axis=0),對(duì)于此時(shí)的狀態(tài),每個(gè)果子是一個(gè)整體,當(dāng)進(jìn)行sum()加和操作時(shí),我們需要將兩個(gè)果子對(duì)應(yīng)位置的數(shù)據(jù)進(jìn)行相加而不是將每個(gè)果子進(jìn)行加和,最終可以得到結(jié)果[5,7,9]

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
np.sum(a, axis=0)

# 結(jié)果
# array([5, 7, 9])

當(dāng)進(jìn)行元素添加操作的時(shí)候,我們所做的事情就是在原有的糖葫蘆基礎(chǔ)上添加一個(gè)果子,果子的結(jié)構(gòu)也要像前兩個(gè)果子的結(jié)構(gòu)一樣,示例圖如下所示:
在這里插入圖片描述
此時(shí)操作的示例代碼如下所示:

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
np.append(a, [[7, 8, 9]], axis=0)

# 結(jié)果
# array([[1, 2, 3],
#        [4, 5, 6],
#        [7, 8, 9]])

對(duì)于帶有參數(shù)axis=0刪除等操作也同添加的思想一樣,只要我們將其想象成在操作糖葫蘆的果子即可。

三、總結(jié)

當(dāng)axis=1的時(shí)候不難想到,我們要做的操作就是在一根水平擺放的糖葫蘆上進(jìn)行,所有操作的基本原理都和axis=0時(shí)相同。

補(bǔ)充:python中某些函數(shù)axis參數(shù)的理解

總結(jié)為一句話:設(shè)axis=i,則numpy沿著第i個(gè)下標(biāo)變化的方向進(jìn)行操作。

當(dāng)然,這個(gè)i是從0開始數(shù)的,作為程序員的你一定不會(huì)搞錯(cuò)。

axis意為“軸”,它指定了函數(shù)在張量(矩陣、等等)上進(jìn)行操作的方向。
例如有一個(gè)ndarray,名叫A,A.shape=(3,8,5,7)。
那么np.sum(A, axis=2)計(jì)算的結(jié)果的shape就是(3,8,7)。
假設(shè)這個(gè)shape是(3,8,7)的ndarray變量名為B,那么實(shí)際上:

B[i][j][k]=A[i][j][0][k]+A[i][j][1][k]+A[i][j][2][k]+A[i][j][3][k]+A[i][j][4][k]

以下代碼你可以自己跑一下試試:

import numpy as np

A=np.random.randn(3,8,5,7)
print("A.shape=",A.shape)

B=np.sum(A,axis=2)
print("B.shape=",B.shape)

預(yù)期輸出為:

A.shape= (3, 8, 5, 7)
B.shape= (3, 8, 7)

到此這篇關(guān)于Python中的axis參數(shù)的具體使用的文章就介紹到這了,更多相關(guān)Python axis參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論