數據分析——numpy教程

1.NumPy:

是Python的一個開源的數值計算庫。可以用來存儲和處理大型矩陣,比python自身的嵌套列表結構要高效,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫,包括數學、邏輯、形狀操作、排序、選擇、輸入輸出、離散傅里葉變換、基本線性函數,基本統計運算和隨機模擬等。

2.Jupyter NoteBook

Web應用程序,用途是數據清理和轉換,數值模擬,統計建模,機器學習等

運行外部python文件:

%run *.py

計算statement運行時間:

%time statement??????????????? 一般用于耗時比較長的代碼

%timeit statement????????????????? 會多次運行statement,得到一個更精準的時間,一般用于耗時較短的

返回當前會話的所有變量和函數名稱:

%who_ls

3.Numpy數組:

1.使用np.array()創建

numpy默認ndarray的所有元素類型都是相同的,如果傳進來的列表包含不同的類型,則統一為同一類型,優先級str>float>int

ndarray的常見數據類型:int、float、str

2.使用np的routines函數創建

  1. 創建一個所有元素都為一的多維數組:np.ones(shape,dtype=None,order='C')

shape:形狀

dtype=None:元素類型

order:{'C','F'},默認值為C,C(行主序),F(列主序)

  1. 創建一個所有元素都為0的多維數組:np.zeros(shape,dtype=None,order='C')

dtype默認值為float

  1. 創建一個所有元素都為指定元素的多維數組:np.full(shape,fill_value,dtype=None,order='C')

shape:形狀

fill_value:填充值

dtype=None:元素類型

order:{'C','F'},默認值為C,C(行主序),F(列主序)

  1. 創建一個對角線為1其他位置為0的二維數組:np.eye(N,M=None,k=0,dtype=None)

N:行數

M:列數,默認為None,表示和行數一樣

k=0:向右偏移0個位置

dtype默認值為float

  1. 創建一個等差數列:np.linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)

start:開始值

stop:結束值

num=50:等差數列中默認有50個數

endpoint=True:是否包含結束值

retstep=Flase:是否返回等差值

dtype=None:元素類型

  1. 創建一個數值范圍的數組(和python的range類似): np.arange(start,stop,step,dtype=None)

start:開始值

stop:結束值

step:步長

dtype=None:元素類型

  1. 創建一個隨機整數的多維數組:np.random.randint(low,high=None,size=None,dtype='l')

low:最小值

high:最大值

  1. high=None時,生成的數值在[0,low]區間

size=None,數組形狀,默認只輸出一個隨機值

dtype=None:元素類型

  1. 創建一個都為1的服從標準正態分布的多維數組:np.random.randn(d0,d1,…,dn)

dn:第n個維度的數值

  1. 創建一個服從正態分布的多維數組:np.random.normal(loc=0.0,scale=0.0,size=None)

loc=0.0:均值,對應正態分布的多維數組

scale:標準差,對應分布的寬度,scale越大,正態分布的曲線越矮胖,scale越小,曲線越高瘦

size=None:數組形狀

  1. 創建一個元素為 [ 0,1 )的隨機數的多維數組:np.random.random(size=None)

size=None:數組形狀

  1. 創建一個元素為 [ 0,1 )的隨機數的多維數組:np.random.rand(),與np.random.random(size=None)類似:

dn:第n個維度的數值

4.ndarray屬性:

ndim:維度

shape:形狀(有幾個數字就表示幾維)

size:總數據數量

dtype:元素類型

5.索引:

一維與列表完全一致,多維時同理,可通過索引修改數組

6.切片:

一維與列表一致,多維同理。

翻轉:

二維數組行操作:

二維數組取單行:

二維數組取連續多行:

取不連續多行:

二維數組列操作:

二維數組取單列:

二維數組取連續多列:

取不連續多列:

7.數組變形reshape

-1表示任意剩余維度的長度:

8.級聯:np.concatenate()

參數是列表或元組

級聯的數組為度必須相同,

可以通過axis參數改變聯的方向,axis=0:第一個維度,axis:第二個維度…..

水平級聯:

np.hstack()

垂直級聯:

np.vstack()

9.拆分:

垂直拆分:np.vsplit()

按照指定位置拆分

水平拆分:np.hsplit()

水平或垂直拆分:split() (axis=0行,axis=1列)

10.數組拷貝:

copy()創建副本

11.聚合操作:

  1. 求和:np.sum

  1. np.max():最大值
  2. np.min():最小值
  3. np.mean():平均值
  4. np.average():平均值
  5. np.median():中位數
  6. np.percentile(n,q=50):百分位數,q=50代表中位數
  7. np.argmax():第一個最大值對應下標
  8. np.argmin():第一個最小值對應的下標
  9. np.power(n,3):次方,此處為3次方
  1. np.std():標準差
  2. np.var():方差
  3. np.nansum():排Nan值求和

12.矩陣操作

基本矩陣操作:

算術運算符:加減乘除、整除(//)、次方(**)、余數(%)

矩陣和矩陣之間運算

數與矩陣運算

矩陣乘積:

矩陣與矩陣相乘,np.dot

矩陣逆運算:np.linalg.inv()

矩陣行列式:np.linalg.det()

矩陣秩:np.linalg.maxtrix_rank(n)

廣播機制:

為不同維度的矩陣盡量提供運算的可能性

規則一:為缺失的維度補維度

規則二:缺失元素用已有值填充

其他數學操作:

np.abs():絕對值

np.sqrt():平方根

np.square():平方

np.exp():指數e

np.log():自然對數,以e為底的對數

np.sin():正弦

np.cos():余弦

np.tan():正切

np.round():四舍五入?? eg:np.round(n,2)小數點2位四舍五入

np.ceil():向上取整

np.floor():向下取整

np.cumsum():累加

13.排序操作:

np.sort():不改變輸入排序

ndarray().sort():本地處理,不占用空間,但是改變輸入

14.文件操作:

np.save():保存ndarray到一個npy文件

np.savez():將多個ndarray到一個npz文件中

np.savetxt():保存到csv或txt中

np.load():讀取文件

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

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

相關文章

前端數據加密,后端java解密

在前端對數據進行加密后,通常會使用一些加密算法和技術,如AES(Advanced Encryption Standard)進行數據加密。然后,將加密后的數據發送到后端。后端接收到加密數據后,使用Java語言進行解密。 以下是一個簡單…

MKS電源管理軟件OPTIMA RPDG DCG系列RF Elit600系列

MKS電源管理軟件OPTIMA RPDG DCG系列RF Elit600系列

數據結構——考研筆記(三)線性表之單鏈表

文章目錄 2.3 單鏈表2.3.1 知識總覽2.3.2 什么是單鏈表2.3.3 不帶頭結點的單鏈表2.3.4 帶頭結點的單鏈表2.3.5 不帶頭結點 VS 帶頭結點2.3.6 知識回顧與重要考點2.3.7 單鏈表的插入和刪除2.3.7.1 按位序插入(帶頭結點)2.3.7.2 按位序插入(不帶…

spring事務 @Transactional

文章目錄 1. 簡介1.1 什么是事務1.2 什么是Spring事務管理1.3 Transactional注解的作用 2. Transactional注解的使用2.1 如何在Spring中使用Transactional2.2 Transactional的屬性配置 3. Transactional的工作原理3.1 Spring如何管理事務3.2 Transactional的底層實現 4. Transa…

數學建模·灰色關聯度

灰色關聯分析 基本原理 灰色關聯分析可以確定一個系統中哪些因素是主要因素,哪些是次要因素; 灰色關聯分析也可以用于綜合評價,但是由于數據預處理的方式不同,導致結果 有較大出入 ,故一般不采用 具體步驟 數據預處理…

wps批量刪除空白單元格

目錄 原始數據1.按ctrlg鍵2.選擇“空值”,點擊“定位”3. 右擊,刪除單元格修改后的數據 原始數據 1.按ctrlg鍵 2.選擇“空值”,點擊“定位” 如圖所示,空值已被選中 3. 右擊,刪除單元格 修改后的數據

微軟Office PLUS辦公插件下載安裝指南

微軟OfficePLUS插件下載安裝指南 簡介: OfficePLUS微軟官方出品的Office插件 ,OfficePLUS擁有30萬高質量模板素材,能幫助Word、Excel、Powerpoint、PDF等多種辦公軟件提升效率,具有智能化、模板質量高、運行快、穩定性強等優點。…

抽象工廠模式與工廠方法(簡單工廠)的區別

在軟件開發中,簡單工廠模式和工廠方法模式是兩種常用的創建型設計模式。盡管它們都用于創建對象,但它們的實現方式和應用場景有所不同。本文將詳細探討這兩種模式的區別,幫助你更好地理解和應用它們。 簡單工廠模式 簡單工廠模式&#xff0…

昇思25天學習打卡營第11天|RNN實現情感分類

概述 情感分類是自然語言處理中的經典任務,是典型的分類問題。本節使用MindSpore實現一個基于RNN網絡的情感分類模型,實現如下的效果: 輸入: This film is terrible 正確標簽: Negative 預測標簽: Negative輸入: This film is great 正確標…

Mongodb復合索引

學習mongodb,體會mongodb的每一個使用細節,歡迎閱讀威贊的文章。這是威贊發布的第90篇mongodb技術文章,歡迎瀏覽本專欄威贊發布的其他文章。如果您認為我的文章對您有幫助或者解決您的問題,歡迎在文章下面點個贊,或者關…

【計算機畢業設計】002基于weixin小程序家庭記賬本

🙊作者簡介:擁有多年開發工作經驗,分享技術代碼幫助學生學習,獨立完成自己的項目或者畢業設計。 代碼可以私聊博主獲取。🌹贈送計算機畢業設計600個選題excel文件,幫助大學選題。贈送開題報告模板&#xff…

【實戰:python-Django發送郵件-短信-釘釘通知】

一 Python發送郵件 1.1 使用SMTP模塊發送郵件 import smtplib from email.mime.text import MIMEText from email.header import Headermsg_from 306334678qq.com # 發送方郵箱 passwd luzdikipwhjjbibf # 填入發送方郵箱的授權碼(填入自己的授權碼,相當于郵箱…

鴻蒙語言基礎類庫:【@ohos.uitest (UiTest)】 測試

UiTest UiTest提供模擬UI操作的能力,供開發者在測試場景使用,主要支持如點擊、雙擊、長按、滑動等UI操作能力。 該模塊提供以下功能: [By]:提供控件特征描述能力,用于控件篩選匹配查找。[UiComponent]:代…

實驗四:圖像的銳化處理

目錄 一、實驗目的 二、實驗原理 1. 拉普拉斯算子 2. Sobel算子 3. 模板大小對濾波的影響 三、實驗內容 四、源程序和結果 (1) 主程序(matlab) (2) 函數GrayscaleFilter (3) 函數MatrixAbs 五、結果分析 1. 拉普拉斯濾波 2. Sobel濾波 3. 不同大小模板的濾波…

單點登陸思路及流程

單點登錄(Single Sign-On,簡稱SSO)是一種流行的身份驗證和授權機制,允許用戶通過一次登錄獲得對多個應用程序或系統的訪問權限。實現單點登錄可以提高用戶體驗、簡化用戶管理和減少密碼重復輸入等問題。下面是一種常見的單點登錄實…

昇思25天學習打卡營第7天 | 基于MindSpore的GPT2文本摘要

本次打卡基于gpt2的文本摘要 數據加載及預處理 from mindnlp.utils import http_get# download dataset url https://download.mindspore.cn/toolkits/mindnlp/dataset/text_generation/nlpcc2017/train_with_summ.txt path http_get(url, ./)from mindspore.dataset impor…

以太坊(以太坊solidity合約)

以太坊(以太坊solidity合約) 1,以太坊2,開發名詞解釋(1)錢包(2)Solidity(3)Ether(以太幣)(4)Truffle&#xff…

Redis 7.x 系列【23】哨兵模式

有道無術,術尚可求,有術無道,止于術。 本系列Redis 版本 7.2.5 源碼地址:https://gitee.com/pearl-organization/study-redis-demo 文章目錄 1. 概述2. 工作原理2.1 監控2.2 標記下線2.3 哨兵領袖2.4 新的主節點2.5 通知更新 3. …

請求響應(后端必備)

一、請求 1.簡單參數 原始方式: 在原始的web程序中,獲取請求參數,需要通過HttpServletRequest對象手動獲取 RequestMapping("/simpleParam")public String simpleParam(HttpServletRequest request){String name request.getP…

什么叫價內期權?直接帶你了解期權價內期權怎么使用?!

今天帶你了解什么叫價內期權?直接帶你了解期權價內期權怎么使用?!價內期權是具有內在價值的期權。期權持有人行權時,對看漲期權而言,行權價格低于標的證券結算價格;對看跌期權而言,標的證券結算…