python基礎-numpy

numpy中shape (1,X) 和 (X,)的區別 參考

首先放結論:shape(x,)是一維數組,ndim=1,[1,2,3,…x] ;shape(1,x)是二維?數組,ndim=2,[[1,2,3,…n]]

由于array.shape 表示數組的維度,返回一個元組,這個元組的長度就是維度的數目,即 ndim
屬性(秩)。一個二維數組,其維度表示"行數"和"列數"。

說人話,
nidm屬性 秩=維度/數=軸的數量,一維數組ndim=1,二維數組ndim=2
shape屬性返回一個元組,元組的長度=ndim,二維數組的shape=(行數,列數),一維數組shape=(列數,)PS:因為一維數組ndim=1嘛,所以會這樣表示!
array.size屬性,數組元素的總個數,相當于 .shape 中 n*m 的值
axis=0,表示沿著第 0 軸進行操作,即對每一列進行操作
axis=1,表示沿著第1軸進行操作,即對每一行進行操作。
請添加圖片描述
請添加圖片描述
(先理解這么多,其他的真的理解不了 。。。。11.22)

np.random()

np.random.rand(3,2) #隨機生成【3,2】大小的矩陣

 np.random.rand(3,2) #隨機生成【32】大小的矩陣
array([[0.98766853, 0.09140474],[0.85365579, 0.71327129],[0.22873142, 0.05369397]])

np.random.randint(10,size=5) #隨機生成(0-10)的int整形,大小=5

>>> np.random.randint(10,size=5) #隨機生成[0-10)int整形,大小=5
array([3, 2, 2, 9, 7])

np.random.randint(0,5,(2,2))#隨機生成[0,5)的int整形,大小(2*2矩陣)

>>> b=np.random.randint(0,5,(2,2))
>>> b
array([[4, 0],[3, 3]])
np.arange() 借鑒
  1. 一個參數時,參數值為終點,起點取默認值0,步長取默認值1
>>> np.arange(5) 
array([0, 1, 2, 3, 4])
  1. 兩個參數時,第一個參數為起點,第二個參數為終點,步長取默認值1。包前不包后
>>> np.arange(5,10)
array([5, 6, 7, 8, 9])
  1. 三個參數時,第一個參數為起點,第二個參數為終點,第三個參數為步長;步長支持小數。
>>> np.arange(5,10,2) 
array([5, 7, 9])

參考
稍微一看,shape為(x,)和shape為(x,1)幾乎一樣,都是一維的形式。其實不然:

(x,)意思是一維數組,數組中有x個元素
(x,1)意思是一個x維數組,每行有1個元素

reshape() 參考

numpy中reshape函數的三種常見相關用法
1、numpy.arange(n).reshape(a, b) 依次生成n個自然數,并且以a行b列的數組形式顯示

np.arange(16).reshape(2,8) #生成16個自然數,以28列的形式顯示
# Out: 
# array([[ 0,  1,  2,  3,  4,  5,  6,  7],
#       [ 8,  9, 10, 11, 12, 13, 14, 15]])

2、mat (or array).reshape(c, -1) 必須是矩陣格式或者數組格式,才能使用 .reshape(c, -1) 函數, 表示將此矩陣或者數組重組,以 c行d列的形式表示

arr.shape    # (a,b)
arr.reshape(m,-1) #改變維度為m行、d列 (-1表示列數自動計算,d= a*b /m )
arr.reshape(-1,m) #改變維度為d行、m列 (-1表示行數自動計算,d= a*b /m )

-1的作用: 自動計算d:d=數組或者矩陣里面所有的元素個數/c, d必須是整數,不然報錯)
(reshape(-1, m)即列數固定,行數需要計算)
3、

  • numpy.arange(a,b,c) 從 數字a起, 步長為c, 到b結束,生成array 【a,b)
  • numpy.arange(a,b,c).reshape(m,n) :將array的維度變為m 行 n列。
>>> np.arange(1,11,2)              
array([1, 3, 5, 7, 9])
>>> np.arange(1,12,2).reshape(2,-1) 
array([[ 1,  3,  5],[ 7,  9, 11]])

參考:

array([[1, 2, 3],[4, 5, 6]])
>>> c=c.reshape(3,2) 
>>> c
array([[1, 2],[3, 4],[5, 6]])
>>> c=c.reshape(-1,6) 
>>> c
array([[1, 2, 3, 4, 5, 6]])
>>> c=c.reshape(6,-1) 
>>> c
array([[1],[2],[3],[4],[5],[6]])

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

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

相關文章

【Linux】權限的理解和使用

👦個人主頁:Weraphael ?🏻作者簡介:目前正在學習c和算法 ??專欄:Linux 🐋 希望大家多多支持,咱一起進步!😁 如果文章有啥瑕疵,希望大佬指點一二 如果文章對…

Dapper的入門

Dapper 是一個輕量級的對象關系映射 (ORM) 工具,用于在.NET應用程序中處理數據庫操作。ORM 是一種編程技術,它將關系數據庫和面向對象編程語言之間的數據轉換和交互進行了封裝和簡化。Dapper 提供了一種簡單、高效的方式來執行數據庫查詢、插入、更新和刪…

【MySQL--->事務】

文章目錄 [TOC](文章目錄) 一、基本概念二、事務的操作1.設置全局事務隔離級別2.設置事務提交方式3.事務操作 三、事務隔離性1.隔離性概念2 .隔離級別設置 四、MVCC多版本控制2. read view 一、基本概念 事務是由若干條具有邏輯相關性的SQL語句組成的,用來完成某種任務的**邏輯…

C語言--判斷年月日是否合理

一.題目描述 比如輸入2001,2,29,輸出: 不合理 。因為平年的二月只有28天 比如輸入2000,6,31,輸出:不合理。因為6月是小月,只有30天。 二.思路分析 本題主要注意兩個問…

輕量服務器是不是vps,和vps有什么區別

1.輕量型服務器的定義和特點 輕量型服務器是介于云服務器和共享型服務器之間的一種解決方案。它提供較為獨立的資源分配,但規模較小,適用于中小型網站和應用程序。輕量型服務器的硬件資源來源于大型的公有云集群的虛擬化技術。輕量型服務器的性能和帶寬…

強化學習--多維動作狀態空間的設計

目錄 一、離散動作二、連續動作1、例子12、知乎給出的示例2、github里面的代碼 免責聲明:以下代碼部分來自網絡,部分來自ChatGPT,部分來自個人的理解。如有其他觀點,歡迎討論! 一、離散動作 注意:本文均以…

ERP、CRM、SRM、PLM、HRM、OA……都是啥意思

在天某微電子上班,經常會聽說一些系統或平臺名稱,例如ERP、CRM、SRM、PLM、HRM、OA、FOL等。 這些系統,都是干啥用的呢? █ ERP(企業資源計劃) 英文全稱:Enterprise Resource Planning 定義…

如何使用SD-WAN提升物流供應鏈網絡效率

案例背景 本次分享的物流供應鏈企業是一家國際性的大型企業,專注于提供全球范圍內的物流和供應鏈解決方案。案例用戶在不同國家和地區均設有多個分支機構和辦公地點,以支持客戶需求和業務運營。 在過去,該企業用戶使用傳統的MPLS網絡來連接各…

OceanBase:04-單機在線轉分布式部署

目錄 1.當前部署情況 2.單Zone多OBServer模式 3.多Zone多OBServer模式 3.1 集群規劃 3.2 安裝OBServer程序 3.3 新增Zone 3.4 啟動Zone 3.5 向Zone新增OBserver節點 3.6重復3.2~3.5新增其他Zone 4.擴充資源 OceanBase 數據庫為單機分布式一體化架構,支持單…

ssh遠程使用jupyter notebook

Jupyter配置 密碼生成哈希值 jupyter lab password拷貝出哈希值 vi /root/.jupyter/jupyter_server_config.json生成配置文件 jupyter-lab --generate-config編輯配置文件 vi /root/.jupyter/jupyter_lab_config.py查找 /password 按n查找一下一個 c.ServerApp.password …

純干貨丨電腦監控軟件有哪些(三款電腦監控軟件大盤點)

電腦監控軟件在日常生活和工作中的應用越來越廣泛。這些軟件可以幫助我們監控電腦的使用情況,保護電腦的安全,提高工作效率。本文將介紹一些高人氣的電腦監控軟件,并分享一些純干貨。 1、 域之盾軟件----電腦監控系統 是一款功能強大的電腦監…

LeetCode:307. 區域和檢索 - 數組可修改(樹狀數組 C++)

目錄 307. 區域和檢索 - 數組可修改 題目描述: 實現代碼與解析: 樹狀數組: 原理思路: 307. 區域和檢索 - 數組可修改 題目描述: 給你一個數組 nums ,請你完成兩類查詢。 其中一類查詢要求 更新 數組…

Linux輸入設備應用編程(觸摸屏獲取坐標信息)

上一章學習了開發板外接鍵盤并獲取鍵盤的的輸入 Linux輸入設備應用編程(鍵盤,按鍵)-CSDN博客 本章編寫觸摸屏應用程序,獲取觸摸屏的坐標信息并將其打印出來 目錄 一 觸摸屏數據分析(觸摸,點擊&#xff…

采用connector-c++ 8.0操作數據庫

1.下載最新的Connector https://dev.mysql.com/downloads/connector/cpp/,下載帶debug的庫。 解壓縮到本地,本次使用的是帶debug模式的connector庫: 注:其中mysqlcppconn與mysqlcppconn8的區別是: 2.在cmakelist…

請簡要說明 Mysql 中 MyISAM 和 InnoDB 引擎的區別

“請簡要說明 Mysql 中 MyISAM 和 InnoDB 引擎的區別”。 屏幕前有多少同學在面試過程與遇到過類似問題, 可以在評論區留言:遇到過。 考察目的 對于 xxxx 技術的區別,在面試中是很常見的一個問題 一般情況下,面試官會通過這類…

SpringBoot監聽器解析

監聽器模式介紹 監聽器模式的要素 事件監聽器廣播器觸發機制 SpringBoot監聽器實現 系統事件 事件發送順序 監聽器注冊 監聽器注冊和初始化器注冊流程類似 監聽器觸發機制 獲取監聽器列表核心流程: 通用觸發條件: 自定義監聽器實現 實現方式1 實現監聽器接口: Order(1) …

[操作系統]進程和線程

目錄 1.什么是進程 1.1進程控制塊抽象 1.2 CPU 分配 —— 進程調度(Process Scheduling) 1.3內存分配 —— 內存管理(Memory Manage) 1.4進程間通信(Inter Process Communication) 2.線程 2.1概念 2.2為什么要有線程 2.3線…

論文閱讀 Forecasting at Scale (二)

最近在看時間序列的文章,回顧下經典 論文地址 項目地址 Forecasting at Scale 3.2、季節性 3.3、假日和活動事件3.4、模型擬合3.5、分析師參與的循環建模4、自動化預測評估4.1、使用基線預測4.2、建模預測準確性4.3、模擬歷史預測4.4、識別大的預測誤差 5、結論6、致…

【Python】重磅!這本30w人都在看的Python數據分析暢銷書更新了!

Python 語言極具吸引力。自從 1991 年誕生以來,Python 如今已經成為最受歡迎的解釋型編程語言。 【文末送書】今天推薦一本Python領域優質數據分析書籍,這本30w人都在看的書,值得入手。 目錄 作譯者簡介主要變動導讀視頻購書鏈接文末送書 pan…

【計算機方向】通信、算法、自動化、機器人、電子電氣、計算機工程、控制工程、計算機視覺~~~~~合集!!!

◆本文為大家梳理了近期可投的EI國際會議,涵蓋計算機各個學科方向,均可EI檢索 本期EI會議匯總合集涵蓋領域:計算機視覺、物聯網、算法、通信、智能技術、人工智能、人機交互、機器人、電子電氣等眾多領域! 本期所推薦的EI會議有…