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

Python?ndarray?數(shù)組的變形詳情

 更新時(shí)間:2022年09月29日 14:58:16   作者:正在學(xué)習(xí)中的李斌  
這篇文章主要介紹了Python?ndarray數(shù)組的變形詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

一、維數(shù)的變形

1. 一維數(shù)組轉(zhuǎn)二維數(shù)組以及同維變換

import numpy as np

arr_1d = np.arange(12)
# 使用 numpy 的
arr1 = np.reshape(arr_1d,(3,4))
# 使用 ndarray 的
arr2 = arr_1d.reshape((3, 4))

函數(shù)resize()的作用跟reshape()類似,但是會(huì)改變所作用的數(shù)組,相當(dāng)于有inplace=True的效果

2. 二維數(shù)組轉(zhuǎn)化維度也可以用這兩個(gè)函數(shù)

import numpy as np

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

arr_2d.reshape((2,6))
# -1 表示不確定有多少列
arr_2d.reshape((4,-1))

3. 二維數(shù)組轉(zhuǎn)一維數(shù)組

ravel()flatten()
兩者的區(qū)別在于返回拷貝(copy)還是返回視圖(view),flatten()返回一份拷貝,需要分配新的內(nèi)存空間,對(duì)拷貝所做的修改不會(huì)影響原始矩陣,而ravel()返回的是視圖(view),會(huì)影響原始矩陣。因此在使用ravel時(shí)候要格外小心,以免數(shù)據(jù)修改造成原始數(shù)據(jù)的改變。

import numpy as np

arr_2d = np.array([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]])
a = arr_2d.flatten()
a[0] = -999
a, arr_2d
b = arr_2d.ravel()
b
b[0] = -999
b, arr_2d

二、數(shù)組的拼接

1. 橫向拼接

hstack() ——水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接。
concatenate() 也可以完成相應(yīng)的功能,axis=1 時(shí),沿水平方向疊加。

import numpy as np

a = np.array([1,2,3,4]).reshape((2,2), order='F')
b = np.array([0,0,1,1]).reshape((2,2))
a, b

harr = np.hstack((a, b))
harr
harr = np.concatenate((a, b), axis=1)
harr

2. 縱向拼接

vstack() ——垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接。
concatenate() 也可以完成相應(yīng)的功能,axis=0 時(shí),沿垂直方向疊加

import numpy as np

a = np.array([1,1,0,0]).reshape((2,2))
b = np.array([0,1,0,1]).reshape((2,2))
a, b

varr = np.vstack((a, b))
varr

varr = np.concatenate((a, b), axis=0)
varr

三、數(shù)組的分割

1. 橫向分割

hsplit() ——水平拆分,沿著行的方向,對(duì)列進(jìn)行拼接。
split() 也可以完成相應(yīng)的功能,axis=1 時(shí),沿水平方向拆分。

import numpy as np

a = np.array([1,1,0,0]).reshape((2,2))
b = np.array([0,1,0,1]).reshape((2,2))

harr = np.hstack((a, b))
np.hsplit(harr, 2)

np.split(harr, 2, axis=1)

2. 縱向分割

hvplit() ——垂直拆分,沿著列的方向,對(duì)行進(jìn)行拼接。
split() 也可以完成相應(yīng)的功能,axis=0 時(shí),沿垂直方向拆分。

import numpy as np

a = np.array([1,1,0,0]).reshape((2,2))
b = np.array([0,1,0,1]).reshape((2,2))

varr = np.vstack((a, b))
np.vsplit(varr, 2)

np.split(varr, 2, axis=0)

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

相關(guān)文章

最新評(píng)論