欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:Numpy方法總結(jié)(三)

柚子快報激活碼778899分享:Numpy方法總結(jié)(三)

http://yzkb.51969.com/

一.?NumPy 數(shù)學(xué)函數(shù)

1. 三角函數(shù)

NumPy 提供了標(biāo)準(zhǔn)的三角函數(shù):sin()、cos()、tan()。

np.sin(a*np.pi/180)

np.cos(a*np.pi/180)

np.tan(a*np.pi/180)

示例

import numpy as np

a = np.array([0,30,45,60,90])

print ('不同角度的正弦值:')

# 通過乘 pi/180 轉(zhuǎn)化為弧度

print (np.sin(a*np.pi/180))

print ('\n')

print ('數(shù)組中角度的余弦值:')

print (np.cos(a*np.pi/180))

print ('\n')

print ('數(shù)組中角度的正切值:')

print (np.tan(a*np.pi/180))

打印

arcsin,arccos,和 arctan 函數(shù)返回給定角度的 sin,cos 和 tan 的反三角函數(shù)。

這些函數(shù)的結(jié)果可以通過 numpy.degrees() 函數(shù)將弧度轉(zhuǎn)換為角度。

示例

import numpy as np

a = np.array([0,30,45,60,90])

print ('含有正弦值的數(shù)組:')

sin = np.sin(a*np.pi/180)

print (sin)

print ('\n')

print ('計算角度的反正弦,返回值以弧度為單位:')

inv = np.arcsin(sin)

print (inv)

print ('\n')

print ('通過轉(zhuǎn)化為角度制來檢查結(jié)果:')

print (np.degrees(inv))

print ('\n')

print ('arccos 和 arctan 函數(shù)行為類似:')

cos = np.cos(a*np.pi/180)

print (cos)

print ('\n')

print ('反余弦:')

inv = np.arccos(cos)

print (inv)

print ('\n')

print ('角度制單位:')

print (np.degrees(inv))

print ('\n')

print ('tan 函數(shù):')

tan = np.tan(a*np.pi/180)

print (tan)

print ('\n')

print ('反正切:')

inv = np.arctan(tan)

print (inv)

print ('\n')

print ('角度制單位:')

print (np.degrees(inv))

打印

2. 舍入函數(shù)

(1)around

numpy.around() 函數(shù)返回指定數(shù)字的四舍五入值。

numpy.around(a,decimals)

a: 數(shù)組decimals: 舍入的小數(shù)位數(shù)。 默認(rèn)值為0。 如果為負(fù),整數(shù)將四舍五入到小數(shù)點(diǎn)左側(cè)的位置

示例

import numpy as np

a = np.array([1.0,5.55, 123, 0.567, 25.532])

print ('原數(shù)組:')

print (a)

print ('\n')

print ('舍入后:')

print (np.around(a))

print (np.around(a, decimals = 1))

print (np.around(a, decimals = -1))

打印

(2)floor()

numpy.floor() 返回小于或者等于指定表達(dá)式的最大整數(shù),即向下取整。

示例

import numpy as np

a = np.array([-1.7, 1.5, -0.2, 0.6, 10])

print ('提供的數(shù)組:')

print (a)

print ('\n')

print ('修改后的數(shù)組:')

print (np.floor(a))

打印

(3)ceil()

numpy.ceil() 返回大于或者等于指定表達(dá)式的最小整數(shù),即向上取整。

示例

import numpy as np

a = np.array([-1.7, 1.5, -0.2, 0.6, 10])

print ('提供的數(shù)組:')

print (a)

print ('\n')

print ('修改后的數(shù)組:')

print (np.ceil(a))

打印

二. 算數(shù)函數(shù)

1. 基本運(yùn)算

NumPy 算術(shù)函數(shù)包含簡單的加減乘除:?add(),subtract(),multiply()?和?divide()。

需要注意的是數(shù)組必須具有相同的形狀或符合數(shù)組廣播規(guī)則。

示例

import numpy as np

a = np.arange(9, dtype=np.float_).reshape(3, 3)

print('第一個數(shù)組:')

print(a)

print('第二個數(shù)組:')

b = np.array([10, 10, 10])

print(b)

print('兩個數(shù)組相加:')

print(np.add(a, b))

print('兩個數(shù)組相減:')

print(np.subtract(a, b))

print('兩個數(shù)組相乘:')

print(np.multiply(a, b))

print('兩個數(shù)組相除:')

print(np.divide(a, b))

打印

2. 取倒數(shù)

numpy.reciprocal()

numpy.reciprocal() 函數(shù)返回參數(shù)逐元素的倒數(shù)。如?1/4?倒數(shù)為?4/1。

示例

在上述代碼基礎(chǔ)上

print(np.reciprocal(np.multiply(a, b)))

打印

3. 求相應(yīng)元素的冪

numpy.power()

numpy.power() 函數(shù)將第一個輸入數(shù)組中的元素作為底數(shù),計算它與第二個輸入數(shù)組中相應(yīng)元素的冪。

示例

import numpy as np

a = np.array([10, 100, 1000])

print('我們的數(shù)組是;')

print(a)

print('調(diào)用 power 函數(shù):')

print(np.power(a, 2))

print('第二個數(shù)組:')

b = np.array([1, 2, 3])

print(b)

print('再次調(diào)用 power 函數(shù):')

print(np.power(a, b))

打印

4.?取余

numpy.mod()

numpy.mod() 計算輸入數(shù)組中相應(yīng)元素的相除后的余數(shù)。 函數(shù) numpy.remainder() 也產(chǎn)生相同的結(jié)果。

示例

import numpy as np

a = np.array([10, 20, 30])

b = np.array([3, 5, 7])

print('第一個數(shù)組:')

print(a)

print('第二個數(shù)組:')

print(b)

print('調(diào)用 mod() 函數(shù):')

print(np.mod(a, b))

print('調(diào)用 remainder() 函數(shù):')

print(np.remainder(a, b))

打印

三. 統(tǒng)計函數(shù)

NumPy 提供了很多統(tǒng)計函數(shù),用于從數(shù)組中查找最小元素,最大元素,百分位標(biāo)準(zhǔn)差和方差等。

1. 最值

numpy.amin(a, axis=None, out=None, keepdims=, initial=, where=)

numpy.amax(a, axis=None, out=None, keepdims=, initial=, where=)

a: 輸入的數(shù)組,可以是一個NumPy數(shù)組或類似數(shù)組的對象。axis: 可選參數(shù),用于指定在哪個軸上計算最小值。如果不提供此參數(shù),則返回整個數(shù)組的最小值??梢允且粋€整數(shù)表示軸的索引,也可以是一個元組表示多個軸。out: 可選參數(shù),用于指定結(jié)果的存儲位置。keepdims: 可選參數(shù),如果為True,將保持結(jié)果數(shù)組的維度數(shù)目與輸入數(shù)組相同。如果為False(默認(rèn)值),則會去除計算后維度為1的軸。initial: 可選參數(shù),用于指定一個初始值,然后在數(shù)組的元素上計算最小值。where: 可選參數(shù),一個布爾數(shù)組,用于指定僅考慮滿足條件的元素。軸 0 獲取列的最值,軸 1 獲取行的最值。

示例

import numpy as np

a = np.array([[3, 7, 5], [8, 4, 3], [2, 4, 9]])

print('我們的數(shù)組是:')

print(a)

print('調(diào)用 amin() 函數(shù):')

print(np.amin(a, 1))

print('再次調(diào)用 amin() 函數(shù):')

print(np.amin(a, 0))

print('調(diào)用 amax() 函數(shù):')

print(np.amax(a))

print('再次調(diào)用 amax() 函數(shù):')

print(np.amax(a, axis=0))

打印

0軸按照行,1軸按照列排列

為0則要計算每一列的最值,為1則計算每一行的最值

2. 差值

numpy.ptp()

numpy.ptp()?函數(shù)計算數(shù)組中元素最大值與最小值的差(最大值 - 最小值)。

numpy.ptp(a, axis=None, out=None, keepdims=, initial=, where=)

a: 輸入的數(shù)組,可以是一個 NumPy 數(shù)組或類似數(shù)組的對象。axis: 可選參數(shù),用于指定在哪個軸上計算峰-峰值。如果不提供此參數(shù),則返回整個數(shù)組的峰-峰值??梢允且粋€整數(shù)表示軸的索引,也可以是一個元組表示多個軸。out: 可選參數(shù),用于指定結(jié)果的存儲位置。keepdims: 可選參數(shù),如果為 True,將保持結(jié)果數(shù)組的維度數(shù)目與輸入數(shù)組相同。如果為 False(默認(rèn)值),則會去除計算后維度為1的軸。initial: 可選參數(shù),用于指定一個初始值,然后在數(shù)組的元素上計算峰-峰值。where: 可選參數(shù),一個布爾數(shù)組,用于指定僅考慮滿足條件的元素。

示例

import numpy as np

a = np.array([[3,7,5],[8,4,3],[2,4,9]])

print ('我們的數(shù)組是:')

print (a)

print ('\n')

print ('調(diào)用 ptp() 函數(shù):')

print (np.ptp(a))

print ('\n')

print ('沿軸 1 調(diào)用 ptp() 函數(shù):')

print (np.ptp(a, axis = 1))

print ('\n')

print ('沿軸 0 調(diào)用 ptp() 函數(shù):')

print (np.ptp(a, axis = 0))

打印

3. 百分位數(shù)

百分位數(shù)是統(tǒng)計中使用的度量,表示小于這個值的觀察值的百分比。 函數(shù)numpy.percentile()接受以下參數(shù)。

numpy.percentile(a, q, axis)

a: 輸入數(shù)組q: 要計算的百分位數(shù),在 0 ~ 100 之間axis: 沿著它計算百分位數(shù)的軸

首先明確百分位數(shù):?????????????????????????????????????????????????????????????????????????????????????????????????????(取自菜鳥)

第 p 個百分位數(shù)是這樣一個值,它使得至少有 p% 的數(shù)據(jù)項(xiàng)小于或等于這個值,且至少有 (100-p)% 的數(shù)據(jù)項(xiàng)大于或等于這個值。

舉個例子:高等院校的入學(xué)考試成績經(jīng)常以百分位數(shù)的形式報告。比如,假設(shè)某個考生在入學(xué)考試中的語文部分的原始分?jǐn)?shù)為 54 分。相對于參加同一考試的其他學(xué)生來說,他的成績?nèi)绾尾⒉蝗菀字馈5侨绻挤謹(jǐn)?shù)54分恰好對應(yīng)的是第70百分位數(shù),我們就能知道大約70%的學(xué)生的考分比他低,而約30%的學(xué)生考分比他高。

這里的 p = 70。

示例

import numpy as np

a = np.array([[10, 7, 4], [3, 2, 1]])

print ('我們的數(shù)組是:')

print (a)

print ('調(diào)用 percentile() 函數(shù):')

# 50% 的分位數(shù),就是 a 里排序之后的中位數(shù)

print (np.percentile(a, 50))

# axis 為 0,在縱列上求

print (np.percentile(a, 50, axis=0))

# axis 為 1,在橫行上求

print (np.percentile(a, 50, axis=1))

# 保持維度不變

print (np.percentile(a, 50, axis=1, keepdims=True))

打印

4. 中位數(shù)

numpy.median() 函數(shù)用于計算數(shù)組 a 中元素的中位數(shù)(中值)

numpy.median(a, axis=None, out=None, overwrite_input=False, keepdims=)

a: 輸入的數(shù)組,可以是一個 NumPy 數(shù)組或類似數(shù)組的對象。axis: 可選參數(shù),用于指定在哪個軸上計算中位數(shù)。如果不提供此參數(shù),則計算整個數(shù)組的中位數(shù)。可以是一個整數(shù)表示軸的索引,也可以是一個元組表示多個軸。out: 可選參數(shù),用于指定結(jié)果的存儲位置。overwrite_input: 可選參數(shù),如果為True,則允許在計算中使用輸入數(shù)組的內(nèi)存。這可能會在某些情況下提高性能,但可能會修改輸入數(shù)組的內(nèi)容。keepdims: 可選參數(shù),如果為True,將保持結(jié)果數(shù)組的維度數(shù)目與輸入數(shù)組相同。如果為False(默認(rèn)值),則會去除計算后維度為1的軸。

示例

import numpy as np

a = np.array([[30, 65, 70], [80, 95, 10], [50, 90, 60]])

print('我們的數(shù)組是:')

print(a)

print('調(diào)用 median() 函數(shù):')

print(np.median(a))

print('沿軸 0 調(diào)用 median() 函數(shù):')

print(np.median(a, axis=0))

print('沿軸 1 調(diào)用 median() 函數(shù):')

print(np.median(a, axis=1))

打印

5. 算術(shù)平均值

numpy.mean() 函數(shù)返回數(shù)組中元素的算術(shù)平均值,如果提供了軸,則沿其計算。

算術(shù)平均值是沿軸的元素的總和除以元素的數(shù)量。

numpy.mean(a, axis=None, dtype=None, out=None, keepdims=)

a: 輸入的數(shù)組,可以是一個 NumPy 數(shù)組或類似數(shù)組的對象。axis: 可選參數(shù),用于指定在哪個軸上計算平均值。如果不提供此參數(shù),則計算整個數(shù)組的平均值??梢允且粋€整數(shù)表示軸的索引,也可以是一個元組表示多個軸。dtype: 可選參數(shù),用于指定輸出的數(shù)據(jù)類型。如果不提供,則根據(jù)輸入數(shù)據(jù)的類型選擇合適的數(shù)據(jù)類型。out: 可選參數(shù),用于指定結(jié)果的存儲位置。keepdims: 可選參數(shù),如果為True,將保持結(jié)果數(shù)組的維度數(shù)目與輸入數(shù)組相同。如果為False(默認(rèn)值),則會去除計算后維度為1的軸。

示例

import numpy as np

a = np.array([[1, 2, 3], [3, 4, 5], [4, 5, 6]])

print('我們的數(shù)組是:')

print(a)

print('調(diào)用 mean() 函數(shù):')

print(np.mean(a))

print('沿軸 0 調(diào)用 mean() 函數(shù):')

print(np.mean(a, axis=0))

print('沿軸 1 調(diào)用 mean() 函數(shù):')

print(np.mean(a, axis=1))

打印

6.?加權(quán)平均值

numpy.average() 函數(shù)根據(jù)在另一個數(shù)組中給出的各自的權(quán)重計算數(shù)組中元素的加權(quán)平均值。

該函數(shù)可以接受一個軸參數(shù)。 如果沒有指定軸,則數(shù)組會被展開。

加權(quán)平均值即將各數(shù)值乘以相應(yīng)的權(quán)數(shù),然后加總求和得到總體值,再除以總的單位數(shù)。

考慮數(shù)組[1,2,3,4]和相應(yīng)的權(quán)重[4,3,2,1],通過將相應(yīng)元素的乘積相加,并將和除以權(quán)重的和,來計算加權(quán)平均值。

numpy.average(a, axis=None, weights=None, returned=False)

a: 輸入的數(shù)組,可以是一個 NumPy 數(shù)組或類似數(shù)組的對象。axis: 可選參數(shù),用于指定在哪個軸上計算加權(quán)平均值。如果不提供此參數(shù),則計算整個數(shù)組的加權(quán)平均值??梢允且粋€整數(shù)表示軸的索引,也可以是一個元組表示多個軸。weights: 可選參數(shù),用于指定對應(yīng)數(shù)據(jù)點(diǎn)的權(quán)重。如果不提供權(quán)重數(shù)組,則默認(rèn)為等權(quán)重。returned: 可選參數(shù),如果為True,將同時返回加權(quán)平均值和權(quán)重總和。

示例

import numpy as np

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

print('我們的數(shù)組是:')

print(a)

print('調(diào)用 average() 函數(shù):')

print(np.average(a))

# 不指定權(quán)重時相當(dāng)于 mean 函數(shù)

wts = np.array([4, 3, 2, 1])

print('再次調(diào)用 average() 函數(shù):')

print(np.average(a, weights=wts))

# 如果 returned 參數(shù)設(shè)為 true,則返回權(quán)重的和

print('權(quán)重的和:')

print(np.average([1, 2, 3, 4], weights=[4, 3, 2, 1], returned=True))

打印

10為權(quán)重和,即1+2+3+4=10.0

在多維數(shù)組中,可以指定用于計算的軸

示例

import numpy as np

a = np.arange(6).reshape(3, 2)

print('我們的數(shù)組是:')

print(a)

print('修改后的數(shù)組:')

wt = np.array([3, 5])

print(np.average(a, axis=1, weights=wt))

print('修改后的數(shù)組:')

print(np.average(a, axis=1, weights=wt, returned=True))

打印

7. 標(biāo)準(zhǔn)差

標(biāo)準(zhǔn)差是一組數(shù)據(jù)平均值分散程度的一種度量。

標(biāo)準(zhǔn)差是方差的算術(shù)平方根。

公式

std = sqrt(mean((x - x.mean())**2))

示例

import numpy as np

print (np.std([1,2,3,4]))

打印

?8.?方差

統(tǒng)計中的方差(樣本方差)是每個樣本值與全體樣本值的平均數(shù)之差的平方值的平均數(shù),即 mean((x - x.mean())** 2)。

換句話說,標(biāo)準(zhǔn)差是方差的平方根。

示例

import numpy as np

print(np.std([1, 2, 3, 4]))

print(np.var([1, 2, 3, 4]))

打印

四.??排序、條件篩選函數(shù)

種類速度最壞情況工作空間穩(wěn)定性'quicksort'(快速排序)1O(n^2)0否'mergesort'(歸并排序)2O(n*log(n))~n/2是'heapsort'(堆排序)3O(n*log(n))0否

1.?numpy.sort()

numpy.sort() 函數(shù)返回輸入數(shù)組的排序副本。函數(shù)格式如下:

numpy.sort(a, axis, kind, order)

a: 要排序的數(shù)組axis: 沿著它排序數(shù)組的軸,如果沒有數(shù)組會被展開,沿著最后的軸排序, axis=0 按列排序,axis=1 按行排序kind: 默認(rèn)為'quicksort'(快速排序)order: 如果數(shù)組包含字段,則是要排序的字段

示例

import numpy as np

a = np.array([[3, 7], [9, 1]])

print('我們的數(shù)組是:')

print(a)

print('調(diào)用 sort() 函數(shù):')

print(np.sort(a))

print('按列排序:')

print(np.sort(a, axis=0))

# 在 sort 函數(shù)中排序字段

dt = np.dtype([('name', 'S10'), ('age', int)])

a = np.array([("raju", 21), ("anil", 25), ("ravi", 17), ("amar", 27)], dtype=dt)

print('我們的數(shù)組是:')

print(a)

print('按 name 排序:')

print(np.sort(a, order='name'))

print('按 age 排序:')

print(np.sort(a, order='age'))

打印

2.?numpy.argsort()

numpy.argsort() 函數(shù)返回的是數(shù)組值從小到大的索引值。

import numpy as np

x = np.array([3, 1, 2])

print('我們的數(shù)組是:')

print(x)

print('對 x 調(diào)用 argsort() 函數(shù):')

y = np.argsort(x)

print(y)

print('以排序后的順序重構(gòu)原數(shù)組:')

print(x[y])

print('使用循環(huán)重構(gòu)原數(shù)組:')

for i in y:

print(x[i], end=" ")

打印

3.?numpy.lexsort()

用于對多個序列進(jìn)行排序。把它想象成對電子表格進(jìn)行排序,每一列代表一個序列,排序時優(yōu)先照顧靠后的列。

舉例

numpy.lexsort()?的一個簡單例子是考慮一個人的名字和他們的年齡。我們可以使用?numpy.lexsort()?來按照名字的字典順序?qū)θ藛T進(jìn)行排序,并在名字相同的情況下按照年齡進(jìn)行排序。

示例

import numpy as np

# 創(chuàng)建一個包含人名和年齡的數(shù)組

names = np.array(['Alice', 'Bob', 'Catherine', 'Bob', 'Alice'])

ages = np.array([25, 30, 20, 35, 28])

# 使用 numpy.lexsort() 對數(shù)組進(jìn)行排序

sorted_indices = np.lexsort((names, ages))

# 根據(jù)排序后的索引數(shù)組對原始數(shù)組進(jìn)行排序

sorted_names = names[sorted_indices]

sorted_ages = ages[sorted_indices]

print("排序后的人名:", sorted_names)

print("排序后的年齡:", sorted_ages)

打印

函數(shù)描述msort(a)數(shù)組按第一個軸排序,返回排序后的數(shù)組副本。np.msort(a) 相等于 np.sort(a, axis=0)。sort_complex(a)對復(fù)數(shù)按照先實(shí)部后虛部的順序進(jìn)行排序。partition(a, kth[, axis, kind, order])指定一個數(shù),對數(shù)組進(jìn)行分區(qū)argpartition(a, kth[, axis, kind, order])可以通過關(guān)鍵字 kind 指定算法沿著指定軸對數(shù)組進(jìn)行分區(qū)

4.?sort_complex

對復(fù)數(shù)按照先實(shí)部后虛部的順序進(jìn)行排序。

示例

import numpy as np

a = np.sort_complex([5, 3, 6, 2, 1])

print(a)

b = np.sort_complex([1 + 2j, 2 - 1j, 3 - 2j, 3 - 3j, 3 + 5j])

print(b)

打印

5.?partition()?

指定一個數(shù),對數(shù)組進(jìn)行分區(qū)

import numpy as np

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

b = np.partition(a, 3) # 將數(shù)組 a 中所有元素(包括重復(fù)元素)從小到大排列,3 表示的是排序數(shù)組索引為 3 的數(shù)字,比該數(shù)字小的排在該數(shù)字前面,比該數(shù)字大的排在該數(shù)字的后面

c = np.partition(a, (1, 3)) # 小于 1 的在前面,大于 3 的在后面,1和3之間的在中間

print(b)

print('-------------------------')

print(c)

打印

6.?argpartition

可以通過關(guān)鍵字 kind 指定算法沿著指定軸對數(shù)組進(jìn)行分區(qū)

找到數(shù)組的第 3 小(index=2)的值和第 2 大(index=-2)的值

示例

import numpy as np

arr = np.array([46, 57, 23, 39, 1, 10, 0, 120])

a = arr[np.argpartition(arr, 2)[2]]

print(a)

b = arr[np.argpartition(arr, -2)[-2]]

print(b)

打印

同時找到第 3 和第 4 小的值。注意這里,用 [2,3] 同時將第 3 和第 4 小的排序好,然后可以分別通過下標(biāo) [2] 和 [3] 取得。

示例

c=arr[np.argpartition(arr, [2,3])[2]]

print(c)

d=arr[np.argpartition(arr, [2,3])[3]]

print(d)

打印

7. argmax() 和 argmin()

numpy.argmax() 和 numpy.argmin()函數(shù)分別沿給定軸返回最大和最小元素的索引。

示例

import numpy as np

a = np.array([[30, 40, 70], [80, 20, 10], [50, 90, 60]])

print('我們的數(shù)組是:')

print(a)

print('調(diào)用 argmax() 函數(shù):')

print(np.argmax(a))

print('展開數(shù)組:')

print(a.flatten())

print('沿軸 0 的最大值索引:')

maxindex = np.argmax(a, axis=0)

print(maxindex)

print('沿軸 1 的最大值索引:')

maxindex = np.argmax(a, axis=1)

print(maxindex)

print('調(diào)用 argmin() 函數(shù):')

minindex = np.argmin(a)

print(minindex)

print('展開數(shù)組中的最小值:')

print(a.flatten()[minindex])

print('沿軸 0 的最小值索引:')

minindex = np.argmin(a, axis=0)

print(minindex)

print('沿軸 1 的最小值索引:')

minindex = np.argmin(a, axis=1)

print(minindex)

打印

8. nonzero()

numpy.nonzero() 函數(shù)返回輸入數(shù)組中非零元素的索引。

示例

import numpy as np

a = np.array([[30, 40, 0], [0, 20, 10], [50, 0, 60]])

print('我們的數(shù)組是:')

print(a)

print('調(diào)用 nonzero() 函數(shù):')

print(np.nonzero(a))

打印

9.?where()

numpy.where() 函數(shù)返回輸入數(shù)組中滿足給定條件的元素的索引。

import numpy as np

x = np.arange(9.).reshape(3, 3)

print('我們的數(shù)組是:')

print(x)

print('大于 3 的元素的索引:')

y = np.where(x > 3)

print(y)

print('使用這些索引來獲取滿足條件的元素:')

print(x[y])

打印

10.?extract()

numpy.extract() 函數(shù)根據(jù)某個條件從數(shù)組中抽取元素,返回滿條件的元素。

示例

條件放在前面,數(shù)組放在后面

import numpy as np

x = np.arange(9.).reshape(3, 3)

print ('我們的數(shù)組是:')

print (x)

# 定義條件, 選擇偶數(shù)元素

condition = np.mod(x,2) == 0

print ('按元素的條件值:')

print (condition)

print ('使用條件提取元素:')

print (np.extract(condition, x))

打印

五. 字節(jié)交換

1.介紹

在幾乎所有的機(jī)器上,多字節(jié)對象都被存儲為連續(xù)的字節(jié)序列。字節(jié)順序,是跨越多字節(jié)的程序?qū)ο蟮拇鎯σ?guī)則。

大端模式:指數(shù)據(jù)的高字節(jié)保存在內(nèi)存的低地址中,而數(shù)據(jù)的低字節(jié)保存在內(nèi)存的高地址中,這樣的存儲模式有點(diǎn)兒類似于把數(shù)據(jù)當(dāng)作字符串順序處理:地址由小向大增加,而數(shù)據(jù)從高位往低位放;這和我們的閱讀習(xí)慣一致。 小端模式:指數(shù)據(jù)的高字節(jié)保存在內(nèi)存的高地址中,而數(shù)據(jù)的低字節(jié)保存在內(nèi)存的低地址中,這種存儲模式將地址的高低和數(shù)據(jù)位權(quán)有效地結(jié)合起來,高地址部分權(quán)值高,低地址部分權(quán)值低。

例如在 C 語言中,一個類型為 int 的變量 x 地址為 0x100,那么其對應(yīng)地址表達(dá)式&x的值為 0x100。且x的四個字節(jié)將被存儲在存儲器的 0x100, 0x101, 0x102, 0x103位置。

2. numpy.ndarray.byteswap()

numpy.ndarray.byteswap() 函數(shù)將 ndarray 中每個元素中的字節(jié)進(jìn)行大小端轉(zhuǎn)換。

示例

import numpy as np

a = np.array([1, 256, 8755], dtype=np.int16)

print('我們的數(shù)組是:')

print(a)

print('以十六進(jìn)制表示內(nèi)存中的數(shù)據(jù):')

print(map(hex, a))

# byteswap() 函數(shù)通過傳入 true 來原地交換

print('調(diào)用 byteswap() 函數(shù):')

print(a.byteswap(True))

print('十六進(jìn)制形式:')

print(map(hex, a))

# 我們可以看到字節(jié)已經(jīng)交換了

打印

柚子快報激活碼778899分享:Numpy方法總結(jié)(三)

http://yzkb.51969.com/

好文推薦

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19251863.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄