NumPy np.ones函數(shù)的具體使用
一、核心功能
np.ones 是 NumPy 中用于創(chuàng)建指定形狀全1數(shù)組的基礎(chǔ)函數(shù),語法結(jié)構(gòu)為:
numpy.ones(shape, dtype=None, order='C', *, like=None)
- 核心價(jià)值:提供標(biāo)準(zhǔn)化的數(shù)組初始化方式,避免手動(dòng)填充1值的繁瑣操作,廣泛用于數(shù)值計(jì)算、矩陣運(yùn)算和數(shù)據(jù)預(yù)處理場(chǎng)景。
二、參數(shù)詳解
| 參數(shù)名 | 類型 | 作用 | 典型取值 |
|---|---|---|---|
| shape | 整數(shù)/元組 | 定義數(shù)組維度 | 5(1D)、(3,4)(2D)、(2,2,3)(3D) |
| dtype | 數(shù)據(jù)類型 | 指定元素類型 | np.int32、np.float64(默認(rèn)) |
| order | {'C','F'} | 內(nèi)存存儲(chǔ)順序 | 'C'(行優(yōu)先)、'F'(列優(yōu)先) |
| 存儲(chǔ)方式 | 順序規(guī)則 | 適用場(chǎng)景 | 典型語言 |
|---|---|---|---|
| 'C' | 行優(yōu)先 | 按行遍歷操作 | C/Python |
| 'F' | 列優(yōu)先 | 按列計(jì)算(如矩陣運(yùn)算) | Fortran/Matlab |
三、基礎(chǔ)應(yīng)用示例
import numpy as np # 1. 創(chuàng)建1維數(shù)組 arr1d = np.ones(5) # array([1., 1., 1., 1., 1.]) # 2. 創(chuàng)建2維矩陣 arr2d = np.ones((2, 3), dtype=int) # array([[1, 1, 1], [1, 1, 1]]) # 3. 創(chuàng)建3維張量 arr3d = np.ones((2, 2, 2), dtype=np.float32)
四、高級(jí)應(yīng)用場(chǎng)景
- 權(quán)重矩陣初始化
在機(jī)器學(xué)習(xí)中初始化神經(jīng)元連接權(quán)重:
input_size = 100 hidden_size = 50 weights = np.ones((input_size, hidden_size)) * 0.01 # 小值初始化
- 掩碼數(shù)組創(chuàng)建
用于數(shù)據(jù)篩選或遮罩操作:
data = np.array([1, 3, 5, 7, 9]) mask = np.ones(5, dtype=bool) mask[[1, 3]] = False # array([ True, False, True, False, True]) filtered = data[mask] # array([1, 5, 9])
- 與其他函數(shù)組合運(yùn)算
# 創(chuàng)建單位矩陣(等價(jià)于np.eye(3)) identity = np.ones((3, 3)) * np.eye(3) # 生成指定范圍的等差數(shù)列 start, 終止 = 2, 10 steps = np.ones(5) * np.linspace(start, 終止, 5)
五、性能對(duì)比
| 初始化方式 | 耗時(shí)(1000x1000數(shù)組) | 內(nèi)存占用 |
|---|---|---|
| np.ones | 1.2ms | 8MB |
| 列表推導(dǎo)式 | 28.5ms | 16MB |
六、常見誤區(qū)規(guī)避
- 類型混淆:默認(rèn)返回浮點(diǎn)型數(shù)組,需顯式指定
dtype=int獲取整數(shù)數(shù)組 - 形狀錯(cuò)誤:多維數(shù)組需傳入元組,如
(2,3)而非2,3 - 內(nèi)存效率:創(chuàng)建大型數(shù)組時(shí),可使用
order='F'優(yōu)化列優(yōu)先訪問性能
到此這篇關(guān)于NumPy np.ones函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)NumPy np.ones內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中Selenium模擬JQuery滑動(dòng)解鎖實(shí)例
這篇文章主要介紹了Python中Selenium模擬JQuery滑動(dòng)解鎖實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
python對(duì)配置文件.ini進(jìn)行增刪改查操作的方法示例
.ini配置文件常被用作存儲(chǔ)程序中的一些參數(shù),通過它程序可以變得更加靈活。下面這篇文章主要給大家介紹了關(guān)于python對(duì)配置文件.ini進(jìn)行增刪改查操作的方法示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07
Python爬蟲實(shí)戰(zhàn)JS逆向AES逆向加密爬取
一個(gè)建筑行業(yè)的堂哥為了搞一些商業(yè)數(shù)據(jù)前前后后花了1w,辣條我半個(gè)小時(shí)就能解決的事情,這就是技術(shù)的魅力!聲明:爬取是的公開數(shù)據(jù)2021-10-10
Python異常原理及異常捕捉實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python異常原理及異常捕捉實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
python使用xlrd和xlwt讀寫Excel文件的實(shí)例代碼
這篇文章主要介紹了python使用xlrd和xlwt讀寫Excel文件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09

