Python的科學計算庫NumPy(二)

5. 索引和切片

5.1 一維數組的索引和切片

import numpy as np# 一維數組索引和切片,跟python中的集合同樣使用
bin_list=[1,2,3,4,5,6]
bin_array=np.array(bin_list)
print(bin_array[3])
print(bin_array[1:4])
print(bin_array[-2:-1])

在這里插入圖片描述

5.2 多維數組的索引

# 多維數組的索引
bin_list2=[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]
bin_array2=np.array(bin_list2)
print(bin_array2[1])   
print(bin_array2[1,1])  #等同于bin_array2[1][1],集合不支持[1,1]

在這里插入圖片描述

5.3 多維數組的切片

# 多維數組的切片
bin_list2=[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]
bin_array2=np.array(bin_list2)print(bin_array2[1:3, 2])   #取了二維數組中的第1~2個一維數組,然后取這兩個一維數組中第2個元素組成了一個一維數組
print(bin_array2[1:3, 0:2])  #取了二維數組中的第1~2個一維數組,然后取這兩個一維數組中第0~2個元素組成了一個二維數組

在這里插入圖片描述

6. 數組的賦值

# 數組的賦值
bin_list2=[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]
bin_array2=np.array(bin_list2)bin_array2[2,1]=100
print(bin_array2)
print('-------------------')bin_array2[2]=[10,20,30,40,50]
print(bin_array2)

在這里插入圖片描述

7. 數組的其他方法

### 數組元素數據類型轉換
bin_array = np.array([1,2,3,4,5])
bin_array2 = np.asarray(bin_array,dtype = np.float32) # 此方法不會改變原來數組的元素,而是生成一個新數組
print(bin_array)
print(bin_array2)bin_array3=bin_array.astype(dtype = np.float32)  #數組本身的方法也能達到同樣的效果
print(bin_array)
print(bin_array3)### 數組特有的獲取元素的方法
bin_list=[6,3,8,9,5,7]
bin_array=np.array(bin_list)
mask = [True,False,True,False,False,False]
print(bin_array[mask])### 獲取到符合條件的元素的索引,獲取到的值是一個元組
mask = np.where(bin_array > 7)
print(mask)
print(type(mask))# 然后用這個索引去獲取索引位置的元素
print(bin_array[mask])bin_array2=np.array([[4,6,2],[3,8,9],[8,2,6]])
mask2 = np.where(bin_array2 > 7)
print(mask2)
print(type(mask2))

在這里插入圖片描述

8. 數組的數值計算

### 數組的求和
# 一維數組
bin_array = np.arange(0,10,1)
print(bin_array)
print(bin_array.sum())#二維數組
bin_array.shape = 2,5
print(bin_array)
print(bin_array.sum())  # 所有元素的總和
print(bin_array.sum(axis=0))  # 所有列的綜合
print(bin_array.sum(axis=1))  # 所有行的綜合# 多維數組
bin_array = np.arange(0,27,1)
bin_array.shape = 3,3,3
print(bin_array)
print(bin_array.sum())  # 所有元素的總和
print(bin_array.sum(axis=0)) # 三位數組想象成一個立方體,求和就像是在某個二維平面的投影,所以總共有3個這樣的平面  
print(bin_array.sum(axis=1))  
print(bin_array.sum(axis=2)) 

在這里插入圖片描述

### 數組的乘積
bin_array = np.arange(1,11,1)
print(bin_array)
print("數組乘積為:%s" % bin_array.prod())### 最大值
print("數組最大值為:%s" % bin_array.max())### 最小值
print("數組最小值為:%s" % bin_array.min())### 平均值
print("數組平均值為:%s" % bin_array.mean())### 標準差
print("數組標準差為:%s" % bin_array.std())### 方差
print("數組方差為:%s" % bin_array.var())### 找到最大值索引
print("數組最大值索引為:%s" % bin_array.argmax())### 找到最小值索引
print("數組最小值索引為:%s" % bin_array.argmin())### 替換最小值和最大值,即保持數組中的所有元素都在2~7這個范圍,把小于2的數字全部替換成2,把大于7的數字都替換成7
bin_array2 = bin_array.clip(2,7)    # 可以看到這個方法也沒有去修改原來的數組,而是新生成了一個數組
print(bin_array2)# 小數向上取整
bin_array=np.array([2.56,7.99,3.45,7.12])
bin_array2 = bin_array.round()
print(bin_array2)# 指定小數位數
bin_array2 = bin_array.round(decimals=1)
print(bin_array2)

在這里插入圖片描述

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

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

相關文章

STM32和C++ 實現配置文件導入、導出功能

一.配置文件導出功能 // 導出流程 // 1. 客戶端 → 設備:導出配置請求,例如:GetFlashData[d6fe30323454]:{ini} ,其中[]里面是設備序列號 // 2. 設備 → 客戶端:配置文件元數據(總大小、塊數量) // 3. 設備 → 客戶端:發送塊1(包含塊序號和大小) // 4. 設備 → 客戶端:…

HTTP 請求基礎知識

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言HTTP 請求方法GETPOSTPUTDELETE其他方法 HTTP 請求結構常用請求頭實際應用示例響應狀態碼 前言 HTTP (Hypertext Transfer Protocol) 是互聯網上應用最廣泛的協…

Django ORM 1. 創建模型(Model)

1. ORM介紹 什么是ORM? ORM,全稱 Object-Relational Mapping(對象關系映射),一種通過對象操作數據庫的技術。 它的核心思想是:我們不直接寫 SQL,而是用 Python 對象(類/實例&…

【C/C++】C++ 編程規范:101條規則準則與最佳實踐

C 編程規范:101條規則準則與最佳實踐 引言 C 是一門強大而復雜的語言,能高效控制硬件,也能寫出優雅抽象。然而,正因其復雜性,項目中若缺乏統一規范,極易陷入混亂、難維護、易出錯的泥潭。 本文總結了 10…

柔性屏激光修屏禁區突破:新啟航如何實現曲面 OLED 面板的無損修復?

一、引言 柔性 OLED 面板憑借其輕薄、可彎曲等特性,在智能終端、可穿戴設備等領域廣泛應用。然而,生產過程中面板易出現缺陷,傳統修復方法難以滿足曲面 OLED 面板的無損修復需求。新啟航半導體有限公司在激光修屏技術上取得突破,…

UI前端與數字孿生結合案例分享:智慧零售的可視化解決方案

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 一、引言:智慧零售的可視化變革 在數字化浪潮下,零售行業正從 “人貨場…

Docker 入門教程(四):容器命令

文章目錄 🐳 Docker 入門教程(四):容器命令創建并運行容器:docker run查看容器列表:docker ps停止、啟動、重啟容器刪除容器:docker rm進入容器:exec 和 attach查看容器日志&#xf…

2025.06.27【技術觀察L0】AlphaGenome:DeepMind推出的全新AI基因組解讀平臺

AlphaGenome:DeepMind推出的全新AI基因組解讀平臺詳解 2025年6月,Google DeepMind團隊正式發布了AlphaGenome——一款面向基因組功能解讀和變異效應預測的全新人工智能模型。AlphaGenome的出現,標志著AI在基因組學領域邁出了重要一步&#x…

[ARM-2D 專題]7. OOP實現之繼承,宏implement_ex的實現和解析

implement_ex宏是 Arm-2D 庫中用于面向對象編程(OOP)支持的核心宏定義。 implement_ex 宏的定義和作用 implement_ex 宏在 Library/Include/arm_2d_utils.h 中定義,用于在 C 語言中實現類似繼承的功能: /*!* \note do NOT use t…

默認構造函數

1、構造函數 一、什么是構造函數 c中有一種特殊的成員函數,他的名字和類名相同,沒有返回值,而在創建對象時會自動執行,類中的數據成員的初始化往往通過構造函數來實現。完成類中數據成員的初始化,同時也是類中的成員…

帶標簽的 Docker 鏡像打包為 tar 文件

現在還有人用docker嗎 要將帶標簽的 Docker 鏡像打包為 tar 文件,請使用 docker save 命令。以下是詳細操作指南: 一、單鏡像打包(推薦方式) # 基礎格式 docker save -o [輸出文件名].tar [鏡像名]:[標簽]# 示例:將…

基于GPS-RTK的履帶吊車跑偏檢測技術方案

基于GPS-RTK的履帶吊車跑偏檢測技術方案 1. 引言 1.1 項目背景 履帶吊車作為重型工程機械,其行駛穩定性直接關系到作業安全和設備壽命。跑偏現象會導致履帶異常磨損、轉向系統過載,嚴重時可能引發側翻事故。傳統檢測方法(如激光測距或人工觀…

勾正數據大數據開發面試題整理-20250625

最近面了家公司,想看看自己多年不準備面試,靠著老本能面試成啥樣,算是試試水吧,一面過了,二面有個算法題沒答出來,整體答得狀態也不太好,應該是沒過。 一面 先來說說一面吧,一面是…

基于中國香港會計準則差異,中國企業在香港推廣ERP(SAP、Oracle)系統需要注意的細節

核心在于:ERP通常按單一會計準則設計主數據架構,但跨國企業需要同時滿足兩地報表要求。 用戶常見的場景包括: 1 科目體系能否同時承載CAS的專項儲備和HKFRS的禁止計提? 2 資產模塊如何兼容不同的減值轉回規則? 3 關聯…

【編譯原理】期末復習知識總結

目錄 題型 總結 編譯五大組成部分 編譯與解釋方式區別? 前端,后端,Why? 概念 推導、歸約 短語、簡單短語、句柄 文法 分類 正則文法(3型) NFA、DFA、最小化 自上而下語法分析(推導…

【軟考高級系統架構論文】論微服務架構及其應用

論文真題 論微服務架構及其應用近年來,隨著互聯網行業的迅猛發展,公司或組織業務的不斷擴張,需求的快速變化以及用戶量的不斷增加,傳統的單塊(Monolithic) 軟件架構面臨著越來越多的挑戰,已逐漸無法適應互聯網時代對軟件的要求。在這一背景下,微服務架構模式(Microservi…

【人工智能】RAG分塊

在RAG(檢索增強生成)系統中,文檔分塊(Chunking)是決定系統性能的核心環節,直接影響檢索精度和生成質量。分塊需平衡語義完整性、檢索效率和上下文保留三大目標。 一、分塊的核心標準 1.1 分塊基礎知識? …

能耗管理新革命:物聯網實現能源高效利用

在全球能源危機與 “雙碳” 目標的雙重壓力下,企業與社會對能耗管理的重視程度達到前所未有的高度。然而,傳統能耗管理方式存在數據采集滯后、分析維度單一、節能措施粗放等問題,無法滿足精細化管理需求。物聯網技術憑借其強大的數據感知、傳…

基于CMS的黃道吉日萬年歷源碼(自適應)

本模板采用帝國cms7.5版UTF-8制作; 適用站點:時間查詢、時差計算、萬年歷、黃道吉日查詢、假期查詢、節氣表等; 源碼優勢:代碼精簡,利于SEO、UI大氣精簡,搜索引擎收錄高; 全站偽靜態無需刷新生成…

如何構建個人AIagent

構建個人AI Agent是一個結合技術實現和場景設計的系統工程,以下是分步驟的詳細指南,涵蓋從需求定義到部署落地的全流程: ?一、明確Agent定位(關鍵第一步)?? ?角色定義矩陣? 類型典型場景技術復雜度示例信息處理Ag…