numpy庫(python)

文章目錄

  • 1.numpy簡介
  • 2.安裝numpy
  • 3.ndarry : numpy庫的心臟
    • 3.1 創建數組
    • 3.2數據類型
    • 3.3dtype

NumPy是用Python.進行科學計算,尤其是數據分析時,所用到的一個基礎庫。它是大量Python
數學和科學計算包的基礎,比如后面要講到的pandas)庫就用到了NumPy。pandas庫專門用于數據
分析,充分借鑒了Python標準庫NumPy的相關概念。而Python標準庫所提供的內置工具對數據分
析方面的大多數計算來說都過于簡單或不夠用。

1.numpy簡介

Pytho語言誕生不久,開發人員就產生了數值計算的需求,更為重要的是,科學社區開始考
慮用它進行科學計算。
1995年,Jim Hugunin開發了Numeric,這是第一次嘗試用Python進行科學計算。隨后又誕生了
Numarray包。這兩個包都是專門用于數組計算的,但各有各的優勢,開發人員只好根據不同的使用
場景,從中選擇效率更高的包。由于兩者之間的區別并不那么明確,開發人員產生了把它們整合為
.個包的想法。Travis Oliphanti遂著手開發NumPyl庫,并于2006年發布了它的第一個版本(v1.0)。
從此之后,NumPy成為Python科學計算的擴展包。如今,在計算多維數組和大型數組方面,
它是使用最廣的。此外,它還提供多個函數,操作起數組來效率很高,還可用來實現高級數學運
算。
當前,NumPyz是開源項目,使用BSD許可證。在眾多開發者的支持下,這個庫的潛力得到了
進一步挖掘。

2.安裝numpy

pip install numpy

3.ndarry : numpy庫的心臟

整個NumPy庫的基礎是ndarray(N-dimensional array,W維數組)對象。它是一種由同質元素
組成的多維數組,元素數量是事先指定好的。同質指的是幾乎所有元素的類型和大小都相同。事
實上,數據類型由另外一個叫作dtype(data-ype,數據類型)的NumPy對象來指定;每個ndarray
只有一種dtype類型。
數組的維數和元素數量由數組的型(shape)來確定,數組的型由N個正整數組成的元組來指
定,元組的每個元素對應每一維的大小。數組的維統稱為軸(axes),軸的數量被稱作秩(rank)。
NumPy數組的另一個特點是大小固定,也就是說,創建數組時一旦指定好大小,就不會再發
生改變。這與Python的列表有所不同,列表的大小是可以改變的。
定義ndarray最簡單的方式是使用array()函數,以Python列表作為參數,列表的元素即是
ndarray的元素。

import numpy as np  
a = np.array([1,2,3])  
print(a[1])

3.1 創建數組

數組的創建方法有幾種,最常用的就是前面你見過的,使用arry()函數,參數為單層或嵌套列表。

import numpy as np  
a = np.array([[1,2,3],[1,2,3]])  
print(a)

除了列表,array()函數還可以接收嵌套元組或元組列表作為參數。

a = np.array(((1,2,3),(1,2,3)))  
print(a)

此外,參數可以是由元組或列表組成的列表,其效果相同。

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

3.2數據類型

到目前為止,我們只使用過簡單的整型和浮點型數據類型,其實NuPy數組能夠包含多種數據類型。

3.3dtype

array()函數可以接收多個參數。每個ndarray()對象都有一個與之相關聯的dtype對象,該對
象唯一定義了數組中每個元素的數據類型。array()函數默認根據列表或元素序列中各元素的數
據類型,為ndarray()對象指定最適合的數據類型。但是,你可以用dtypej選項作為函數array()
的參數,明確指定dtypel的類型。
例如,如要定義一個復數數組,可以像下面這樣使用dtype選項:

a = np.array(((1,2,3),[1,2,3],(1,2,3)),dtype=complex)  
print(a)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40869.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40869.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40869.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端面試題_Css

一、說一下Css的盒子模型? HTML中所有元素都可以看成是一個盒子 盒子的組成:content、padding、border、margin 盒子的類型: 標準盒模型:marginborderpaddingcontent -- box-sizing:content-box(默認&a…

Samtec汽車電子 | 汽車連接器如何在高要求、極端的環境中工作

【摘要/前言】 汽車電子,這些年來始終是極具流量的熱門話題,目前不斷發展的智能座駕、輔助駕駛等賽道都是對相關產業鏈需求的進一步刺激,這里蘊含著一片廣闊的市場。 同樣,廣闊的市場里有著極高的準入門檻和事關安全的技術挑戰。…

【AI】研發人員的《生存還是毀滅?》

AI在當前技術和社會環境下被視為一種強大的工具和輔助資源,而非一種取代人類開發者的替代品。在本文中,我們將詳細探討AI在多個領域的應用,如何與開發者相互作用,并分析AI對開發者角色的影響和未來的發展趨勢。 引言 人工智能&a…

Windows安全認證機制——Windows常見協議

一.LLMNR協議 1.LLMNR簡介 鏈路本地多播名稱解析(LLMNR)是一個基于域名系統(DNS)數據包格式的協議,使用此協議可以解析局域網中本地鏈路上的主機名稱。它可以很好地支持IPv4和IPv6,是僅次于DNS解析的名稱…

代謝組數據分析(十三):評估影響代謝物的重要臨床指標

歡迎大家關注全網生信學習者系列: WX公zhong號:生信學習者Xiao hong書:生信學習者知hu:生信學習者CDSN:生信學習者2介紹 相關性分析是通過計算兩個變量之間的相關系數來評估它們之間線性關系的強度和方向。最常用的是皮爾遜相關系數(Pearson correlation coefficient),…

security密碼明文

引言:在引入未給定初始化mysql數據springboot項目時,由于項目通過security對密碼進行了加密,無法進行登錄操作,提供的一種解決方法 1、注釋掉注入的加密類 // Autowired // private BCryptPasswordEncoder bCryptPassword…

軟件測試常見的面試題(46道)

01、您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。 答:有黑盒和白盒兩種測試種類,黑盒有等價類劃分法,邊界分析法,因果圖法和錯誤猜測法。白盒有邏輯覆蓋法&…

VBA通過Range對象實現Excel的數據寫入

前言 本節會介紹通過VBA中的Range對象,來實現Excel表格中的單元格寫入、區域范圍寫入,當然也可以寫入不同類型的數據,如數值、文本、公式,以及實現公式下拉自動填充的功能。 一、單元格輸入數據 1.通過Value方法實現輸入不同類型…

Windows上使用Navicat連接ubuntu上的mysql8報錯:10061和1130

問題一:can’t connect to mysql server on ‘192.168.xxx.xxx’(10061) 解決: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,bind-address綁定了登陸的IP,把這兩行代碼注釋掉,然后重啟mysql。 問題二:1…

利用MMDetection進行半監督目標檢測(僅供參考)

半監督目標檢測 準備和拆分數據集K則交叉驗證的解釋 完整的半監督配置文件代碼修改繼承的數據流文件代碼 多GPU訓練示范 參考 MMDetection半監督目標檢測,半監督目標檢測同時利用標簽數據和無標簽數據進行訓練,一方面可以減少模型對檢測框數量的依賴&am…

Swift 定制 Core Data 遷移

文章目錄 前言什么是 Core Data 遷移?示例更新模型創建一個新的模型版本創建映射模型編寫自定義遷移策略總結 前言 隨著應用程序和用戶群的增長,你需要添加新功能,刪除其他功能,并改變應用程序的工作方式。這是軟件開發生命周期的…

底層軟件 | 十分詳細,為了學習設備樹,我寫了5w字筆記!

0、設備樹是什么?1、DTS 1.1 dts簡介1.2 dts例子 2、DTC(Device Tree Compiler)3、DTB(Device Tree Blob)4、綁定(Binding)5、Bootloader compatible屬性 7、 #address-cells和#size-cells屬性8…

動態規劃入門,從簡單遞歸到記憶化搜索到動態規劃

動態規劃入門&#xff0c;從簡單遞歸到記憶化搜索到動態規劃 打家劫舍 class Solution {private int nums[];public int rob(int[] nums) {this.nums nums;return dfs(nums.length - 1);}public int dfs(int i){if (i < 0){return 0;}int res Math.max(dfs(i - 1), dfs(i…

127還是localhost....?

前幾天剛發現了一跨域問題&#xff0c;本來吧跨域問題也挺好解決的。 網上搜點教程&#xff0c;該怎么配置就怎么配置就完事了。 但是今天這個跨域問題有點棘手&#xff0c;問題就出在127.0.0.1還是localhost上面 先放一下一開始在127.0.0.1解決跨域的代碼 前端 HTML <…

Vim腳本編寫:自動化任務與自定義命令

Vim腳本&#xff08;Vim Script&#xff09;是一種強大的工具&#xff0c;用于擴展和自動化Vim編輯器的功能。通過編寫Vim腳本&#xff0c;你可以創建自定義命令、自動化常見任務、增強編輯器功能&#xff0c;以及提高你的工作效率。本文將介紹Vim腳本編寫的基礎知識和一些實用…

預制菜工廠MES系統:具體功能與應用場景

在現代化食品工業中&#xff0c;預制菜&#xff08;Ready-to-Eat, RTE&#xff09;因其方便快捷、衛生安全及營養均衡的特點&#xff0c;迅速在餐飲行業中占據重要地位。為了進一步提升預制菜工廠的生產效率、保障產品質量并降低生產成本&#xff0c;制造執行系統&#xff08;M…

代碼隨想錄訓練營第二十八天 122買賣股票的最佳時間II 55跳躍游戲 45跳躍游戲II 1005K次取反后最大化的數組和

第一題&#xff1a; 原題鏈接&#xff1a;122. 買賣股票的最佳時機 II - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 這題十分簡單&#xff0c;就是把相鄰天數的金額相減&#xff0c;如果發現大于0就加到res中&#xff0c;返回res即可 代碼如下&#xff1a; …

error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope 的參考解決方法

文章目錄 寫在前面一、問題描述二、解決方法參考鏈接 寫在前面 自己的測試環境&#xff1a; Ubuntu20.04&#xff0c;OpenCV 4.2.0 一、問題描述 編譯 OpenCV 的程序時&#xff0c;出現如下報錯 error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope二、解決…

MySQL中的可插拔身份驗證(Pluggable Authentication)(二)

Pluggable Authentication&#xff08;PAM&#xff0c;即可插拔式認證模塊&#xff09;是一種高效且靈活的用戶級別的認證方式&#xff0c;廣泛應用于現代操作系統&#xff0c;特別是Linux服務器中。它允許數據庫管理員&#xff08;DBAs&#xff09;為MySQL用戶帳戶選擇和更改不…

ffmpeg將多個yuv文件編碼為MP4視頻文件

一、編碼方案 在視頻錄制時&#xff0c;每一幀保存為一個yuv文件&#xff0c;便于糾錯和修改。在編碼為MP4文件時&#xff0c;我的方案是將所有yuv文件先轉碼為單個MP4文件&#xff0c;然后使用ffmpeg的concat功能拼接為完整的視頻。 二、shell腳本 #!/bin/bash# 檢查參數數量…