日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python创建数组的方法_numpy创建array的方法汇总

發布時間:2025/3/12 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python创建数组的方法_numpy创建array的方法汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建numpy.array,是使用numpy這個核武器的基礎,本文盡量匯總常用創建numpy.array的方法。

array函數

>>> import numpy as np

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

>>> a

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

>>> a.shape

(5,)

>>> a.ndim

1

>>> a.dtype

dtype('int32')

>>>

>>> b = np.array((1,2,3,4,5.0))

>>> b

array([1., 2., 3., 4., 5.])

>>> b.shape

(5,)

>>> b.ndim

1

>>> b.dtype

dtype('float64')

a用list創建,b用tuple創建,都一樣。注意創建b時,tuple中有一個float,這時numpy將所有數據都轉換成了它自己的float64類型。numpy.array中不允許有不同類型的數據同時存在。

我們還可以通過array函數創建多維數組:

>>> c = np.array(([1,2,3],[4,5,6],[7,8,9]))

>>> c

array([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

>>> c.shape

(3, 3)

>>> c.ndim

2

>>>

>>> d = np.array([[1,2,3],[4,5,6],[7,8,9.0]])

>>> d.dtype

dtype('float64')

>>> d

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

[4., 5., 6.],

[7., 8., 9.]])

創建array時,可以指定dtype:

>>> e = np.array((1,2,3), dtype=np.int64)

>>> e

array([1, 2, 3], dtype=int64)

>>>

>>> f = np.array((1,2,3), dtype=np.float16)

>>> f

array([1., 2., 3.], dtype=float16)

zeros函數

用zeros函數創建全0的array:

>>> a = np.zeros((2,3))

>>> a

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

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

>>>

>>> b = np.zeros((3,5), dtype=np.int8)

>>> b

array([[0, 0, 0, 0, 0],

[0, 0, 0, 0, 0],

[0, 0, 0, 0, 0]], dtype=int8)

zeros_like函數

創建一個全0的,跟輸入的array的shape一樣的:

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

>>> a

array([[1, 2, 3],

[4, 5, 6]])

>>> b = np.zeros_like(a)

>>> b

array([[0, 0, 0],

[0, 0, 0]])

>>> a.shape

(2, 3)

>>> b.shape

(2, 3)

>>> c = np.zeros_like(a, dtype=np.uint8)

>>> c

array([[0, 0, 0],

[0, 0, 0]], dtype=uint8)

>>> c.shape

(2, 3)

ones函數

跟zeros函數一樣,創建全1的numpy.array,代碼略。

ones_like函數

跟zeros_like函數一樣,全1而已,注意這些函數都可以指定dtype。

empty函數

跟zeros和ones一樣,不一樣的地方在于,empty函數不對數據做初始化,即所有的內部數據都是隨機的,看內存什么樣子。有的時候使用empty函數,不做初始化,還可以進一步提高計算速度。

>>> a = np.empty((5,5))

>>> a

array([[0.00000000e+000, 2.30226697e-307, 2.30240278e-307,

2.30259291e-307, 2.30275588e-307],

[2.13425923e-307, 2.13439504e-307, 2.13453085e-307,

2.13473456e-307, 2.13493827e-307],

[2.13504692e-307, 2.13527779e-307, 2.13554940e-307,

2.13572595e-307, 2.13591609e-307],

[2.51437149e-307, 2.51456162e-307, 2.51476533e-307,

2.51500978e-307, 2.51517275e-307],

[2.51537647e-307, 2.51562092e-307, 2.51582463e-307,

2.51598760e-307, 2.28647257e-317]])

empty_like函數

跟其它*_like函數一樣,也跟自己的empty一樣,不做初始化。代碼略。

arange函數

a range,一個范圍,就像python內置的range一樣:

>>> a = np.arange(10)

>>> a

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> b = np.arange(0,100,5)

>>> b

array([ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80,

85, 90, 95])

>>> c = np.arange(20).reshape(5,4)

>>> c

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

[ 4, 5, 6, 7],

[ 8, 9, 10, 11],

[12, 13, 14, 15],

[16, 17, 18, 19]])

>>> c.shape

(5, 4)

>>>

>>> d = np.arange(0,1,0.01).reshape(10,10)

>>> d

array([[0. , 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09],

[0.1 , 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19],

[0.2 , 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29],

[0.3 , 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39],

[0.4 , 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49],

[0.5 , 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59],

[0.6 , 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69],

[0.7 , 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79],

[0.8 , 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89],

[0.9 , 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99]])

跟python內置的range不一樣的地方是,step可以是小數,不過一般不建議這樣用,要產生均勻間隔的數據,建議使用下面這個函數:linspace

linspace函數

設置起點和終點,設置一共取多少個數:

>>> a = np.linspace(0,1,100).reshape(10,10)

>>> a

array([[0. , 0.01010101, 0.02020202, 0.03030303, 0.04040404,

0.05050505, 0.06060606, 0.07070707, 0.08080808, 0.09090909],

[0.1010101 , 0.11111111, 0.12121212, 0.13131313, 0.14141414,

0.15151515, 0.16161616, 0.17171717, 0.18181818, 0.19191919],

[0.2020202 , 0.21212121, 0.22222222, 0.23232323, 0.24242424,

0.25252525, 0.26262626, 0.27272727, 0.28282828, 0.29292929],

[0.3030303 , 0.31313131, 0.32323232, 0.33333333, 0.34343434,

0.35353535, 0.36363636, 0.37373737, 0.38383838, 0.39393939],

[0.4040404 , 0.41414141, 0.42424242, 0.43434343, 0.44444444,

0.45454545, 0.46464646, 0.47474747, 0.48484848, 0.49494949],

[0.50505051, 0.51515152, 0.52525253, 0.53535354, 0.54545455,

0.55555556, 0.56565657, 0.57575758, 0.58585859, 0.5959596 ],

[0.60606061, 0.61616162, 0.62626263, 0.63636364, 0.64646465,

0.65656566, 0.66666667, 0.67676768, 0.68686869, 0.6969697 ],

[0.70707071, 0.71717172, 0.72727273, 0.73737374, 0.74747475,

0.75757576, 0.76767677, 0.77777778, 0.78787879, 0.7979798 ],

[0.80808081, 0.81818182, 0.82828283, 0.83838384, 0.84848485,

0.85858586, 0.86868687, 0.87878788, 0.88888889, 0.8989899 ],

[0.90909091, 0.91919192, 0.92929293, 0.93939394, 0.94949495,

0.95959596, 0.96969697, 0.97979798, 0.98989899, 1. ]])

從0到1,100個數。

reshape函數

顧名思義吧,就是一個數組重新變換一下形狀,變成多維的。上面的代碼已經有很多地方在直接使用reshape函數了,請參考。

再給一個用reshape將一維轉四維的示例:

>>> a = np.linspace(0,1,100).reshape(2,5,2,5)

>>> a

array([[[[0. , 0.01010101, 0.02020202, 0.03030303, 0.04040404],

[0.05050505, 0.06060606, 0.07070707, 0.08080808, 0.09090909]],

[[0.1010101 , 0.11111111, 0.12121212, 0.13131313, 0.14141414],

[0.15151515, 0.16161616, 0.17171717, 0.18181818, 0.19191919]],

[[0.2020202 , 0.21212121, 0.22222222, 0.23232323, 0.24242424],

[0.25252525, 0.26262626, 0.27272727, 0.28282828, 0.29292929]],

[[0.3030303 , 0.31313131, 0.32323232, 0.33333333, 0.34343434],

[0.35353535, 0.36363636, 0.37373737, 0.38383838, 0.39393939]],

[[0.4040404 , 0.41414141, 0.42424242, 0.43434343, 0.44444444],

[0.45454545, 0.46464646, 0.47474747, 0.48484848, 0.49494949]]],

[[[0.50505051, 0.51515152, 0.52525253, 0.53535354, 0.54545455],

[0.55555556, 0.56565657, 0.57575758, 0.58585859, 0.5959596 ]],

[[0.60606061, 0.61616162, 0.62626263, 0.63636364, 0.64646465],

[0.65656566, 0.66666667, 0.67676768, 0.68686869, 0.6969697 ]],

[[0.70707071, 0.71717172, 0.72727273, 0.73737374, 0.74747475],

[0.75757576, 0.76767677, 0.77777778, 0.78787879, 0.7979798 ]],

[[0.80808081, 0.81818182, 0.82828283, 0.83838384, 0.84848485],

[0.85858586, 0.86868687, 0.87878788, 0.88888889, 0.8989899 ]],

[[0.90909091, 0.91919192, 0.92929293, 0.93939394, 0.94949495],

[0.95959596, 0.96969697, 0.97979798, 0.98989899, 1. ]]]])

eye函數

eye函數應該是取I的諧音,用于創建單位矩陣(Identity matrix):

>>> a = np.eye(5)

>>> a

array([[1., 0., 0., 0., 0.],

[0., 1., 0., 0., 0.],

[0., 0., 1., 0., 0.],

[0., 0., 0., 1., 0.],

[0., 0., 0., 0., 1.]])

>>>

>>> a = np.eye(7)

>>> a

array([[1., 0., 0., 0., 0., 0., 0.],

[0., 1., 0., 0., 0., 0., 0.],

[0., 0., 1., 0., 0., 0., 0.],

[0., 0., 0., 1., 0., 0., 0.],

[0., 0., 0., 0., 1., 0., 0.],

[0., 0., 0., 0., 0., 1., 0.],

[0., 0., 0., 0., 0., 0., 1.]])

>>>

>>> a = np.eye(7, dtype=np.uint8)

>>> a

array([[1, 0, 0, 0, 0, 0, 0],

[0, 1, 0, 0, 0, 0, 0],

[0, 0, 1, 0, 0, 0, 0],

[0, 0, 0, 1, 0, 0, 0],

[0, 0, 0, 0, 1, 0, 0],

[0, 0, 0, 0, 0, 1, 0],

[0, 0, 0, 0, 0, 0, 1]], dtype=uint8)

full函數

用同一個固定的數字來填滿array中所有的空隙,zeros是用0填,ones是用1填,empty是不填,隨機。

>>> a = np.full((3,4), 8)

>>> a

array([[8, 8, 8, 8],

[8, 8, 8, 8],

[8, 8, 8, 8]])

>>> a

array([[8, 8, 8, 8],

[8, 8, 8, 8],

[8, 8, 8, 8]])

>>>

>>> a = np.full((3,4), 8, dtype=np.float64)

>>> a

array([[8., 8., 8., 8.],

[8., 8., 8., 8.],

[8., 8., 8., 8.]])

>>> a = np.full((3,4,5), 8, dtype=np.float64)

>>> a

array([[[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.]],

[[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.]],

[[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.],

[8., 8., 8., 8., 8.]]])

-- EOF --

總結

以上是生活随笔為你收集整理的python创建数组的方法_numpy创建array的方法汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 四虎黄色影视 | 国产区123| 国产乱强伦一区二区三区 | 午夜美女福利 | 久久久亚洲一区 | 人妻少妇精品视频一区二区三区 | 欧美日韩小视频 | 久久久精品视频一区 | 天天操天天爱天天干 | 国产一区二区三区四区精 | 欧美三级特黄 | 亚洲图片自拍偷拍 | 亚洲AV无码一区二区伊人久久 | 国产ts在线观看 | 无码国产69精品久久久久同性 | 影音先锋男人站 | 精品国产一区二区三区性色 | 国产高清在线一区 | 灌篮高手全国大赛电影 | 少妇高潮毛片色欲ava片 | 亚洲欧美激情另类校园 | 精品国产乱码久久久久久久 | 亚洲中午字幕 | 日韩三级免费看 | 欧美 国产 精品 | 毛片毛片毛片毛片毛片毛片 | 亚洲欧洲视频 | 13日本xxxxxⅹxxx20 | 3344av| 你懂的国产在线 | 成人午夜免费在线 | 久久精品视频99 | 图片区视频区小说区 | 男裸体无遮挡网站 | 欧美成人手机在线视频 | 国产精品久久久久久久av福利 | 精品无码人妻一区二区免费蜜桃 | www久久com | 一级国产视频 | 奇米色在线 | 黄色美女免费网站 | 69精品无码成人久久久久久 | 在线电影一区 | 91看黄 | 欧美激情精品久久久久久免费 | 一本大道熟女人妻中文字幕在线 | 中国女人一级片 | 免费乱淫视频 | 蜜臀久久99精品久久久无需会员 | gav在线| 91伦理视频 | 青草精品视频 | 香蕉久久影院 | 91大神一区二区 | 日韩久久一区二区三区 | 亚洲免费二区 | 麻豆av一区二区三区久久 | 国产剧情一区二区 | 成人午夜看片 | 久久一道本 | av卡一卡二 | 日韩欧美在线视频 | 欧美韩日一区二区 | 97人人精品 | 午夜成年人 | 欧洲成人综合网 | 美女久久 | 亚洲一区二区三 | 亚洲视频一区二区三区在线观看 | 一区二区三区四区在线免费观看 | 天天舔天天操天天干 | 日韩精品视频在线观看网站 | 欧美一区二区三区免费观看 | 日韩小视频在线 | 久操精品 | 欧美性猛交xxxx | www在线看片| 日本一二三区不卡 | 日韩欧美精品中文字幕 | 国产乱淫精品一区二区三区毛片 | 色偷偷噜噜噜亚洲男人 | 国产女人18毛片水真多 | 天天摸天天碰 | 亚洲黄色小说视频 | 一级特黄bbbbb免费观看 | melody在线高清免费观看 | 浓精h攵女乱爱av | 亚洲精品国产乱伦 | 国产精品成人3p一区二区三区 | 日韩欧美午夜 | 人人妻人人爽一区二区三区 | 欧美日韩免费在线 | 免费在线观看污网站 | 瑟瑟视频免费观看 | 大陆农村乡下av | 999久久久免费精品国产 | 午夜一本 | 久久亚洲av无码西西人体 | 亚洲精品粉嫩小泬20p |