numpy2

?1、通用函數,是一種在ndarray數據中進行逐元素操作的函數。某些函數接受一個或多個標量數值,并產生一個或多個標量結果,通用函數就是對這些函數的封裝。

  1、常用的一元通用函數有:abs\fabs  sqrt?  square  exp  log\log2\log10\log1p  sign  ceil  floor  rint  modf  isnan  sin\cos\tan\sinh\cosh\tanh  arccos\arctan\arcsin  logical_not

  2、二元通用函數:add  subtract  multiply  divide、floor_divide  power  maximun、fmax  minimun、fax  mod  copysign  greater、greater_equl、less  

2、將條件邏輯作為數組操作,np.where函數,其是三元表達式 x if condition else y的向量化版本。

  

1 xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])
2 yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])
3 cond = np.array([True, False, True, True, False])
4 result = np.where(cond, xarr, yarr)            # result中的元素來源:若cond中為True,返回xarr中對應元素,否則返回yarr中的元素。
5 result
6 Out[59]: 
7 >>>array([1.1, 2.2, 1.3, 1.4, 2.5])

3、數學和統計方法

  1、聚合函數(又稱縮減函數):例如sun、mean、std、var等等,mean、sum等可以接受一個可選參數 axis,用于計算指定軸上的統計值,axis =0計算行方向,axis =1計算列方向。

  2、其他基礎統計方法,min,max?  argmin,argmin 返回最小值、最大值的索引值  cumsum\cumprod 從0、從1開始計算累計值

4、布爾值數組的方法

  1、sum()可以用來統計布爾數組中的True的個數

1 arr = np.random.randn(100)
2 (arr > 0).sum()
3 Out[62]: 
4 >>>46

  2、對于布爾值數組,有兩個比較有用的方法:any()檢查數組中是否至少有一個True, all()檢查是否每個值都是True

1 bools = np.array([False, False, True, False])
2 print(bools.any())
3 print(bools.all())
4 True
5 False

5、排序

  1、sort(x),直接使用 x.sort()的形式,在原數組上進行操作,使用np.sort(x)的形式返回的是已經排序好的數組拷貝。

6、唯一值與其他集合操作

  1、np.unique(x) ,返回的是數組中唯一值排序后形成的數組;

  2、np.in1d(x),檢查一個數組中的值是否存在于另外一個數組中,返回一個布爾值數組;

  其他數組集合操作:intersect1d(x,y) 計算交集并排序;union1d(x,y)計算并集并排序;setdiff1d(x,y)差集;setxor1d(x,y)異或集

7、使用數組進行文件輸入和輸出

  np.load()加載  np.save()保存

8、線性代數

  1、矩陣乘法,NumPy中,” * “表示逐元素相乘,矩陣乘法用dot()函數,x.dot(y)或者np.(x,y)

  2、numpy.linalg 矩陣分解的標準函數集,常用函數有:dot  diag  trace 計算對角元素和  eig 計算仿真的特征值和特征向量  inv 求逆  qr 計算QR分解  svd 計算奇異值分解(SVD)  solve 求解x的線性系統      lstsq 計算最小二乘解

9、偽隨機數生成

  1、numpy.random模塊補充了python內建的random模塊的不足,可以高效地生成多種概率分布下地完整樣本數據值。

  random下的部分常用函數:

  seed 向隨機數生成器傳遞隨機狀態種子; permutation 返回一個隨機序列的隨機排列,或者返回一個亂序的整數范圍序列 ; shufffle 隨機排列一個序列

  rand 從均勻分布中抽取樣本  randint 從給定的范圍內隨機抽取整數  randn 從均值0方差1的正態分布中抽取樣本  binomial從二項分布中抽取樣本

  noamal 從高斯分布中抽取樣本    beta 從beta分布中抽取樣本  chisquare 從卡方分布中抽取樣本  gamma 從伽馬分布中抽取樣本  uniform 從[0,1]均勻分布中抽取樣本

?

  

  

轉載于:https://www.cnblogs.com/Chris-01/p/11432081.html

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

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

相關文章

Apache Prefork、Worker和Event三種MPM簡單分析

(1) Prefork MPM (優點) :使用多個子進程,每個子進程只有一個線程來處理一個 http 連接,不用擔心線程安全問題缺點:內存消耗大,不擅長處理高并發環境,使用keep-alive長連接時要等到超…

grasshopper_如何使用Google的Grasshopper編碼應用程序來學習手機上的編碼基礎知識...

grasshopper什么是蚱hopper? (What is Grasshopper?) Grasshopper is an interactive education app for learning about coding. It began at Google as an experimental project created by a group called Area 120. Grasshopper是一個用于學習編碼的交互式教育…

機器學習 量子_量子機器學習:神經網絡學習

機器學習 量子My last articles tackled Bayes nets on quantum computers (read it here!), and k-means clustering, our first steps into the weird and wonderful world of quantum machine learning.我的最后一篇文章討論了量子計算機上的貝葉斯網絡( 在這里閱讀&#xf…

leetcode 179. 最大數(排序)

給定一組非負整數 nums,重新排列每個數的順序(每個數不可拆分)使之組成一個最大的整數。 注意:輸出結果可能非常大,所以你需要返回一個字符串而不是整數。 示例 1: 輸入:nums [10,2] 輸出&a…

test3

test3 轉載于:https://www.cnblogs.com/Forever77/p/11441068.html

linux滲透測試_滲透測試:選擇正確的(Linux)工具棧來修復損壞的IT安全性

linux滲透測試Got IT infrastructure? Do you know how secure it is? The answer will probably hurt, but this is the kind of bad news you’re better off getting sooner rather than later.有IT基礎架構嗎? 你知道它有多安全嗎? 答案可能會很痛…

BZOJ 1176: [Balkan2007]Mokia

一道CDQ分治的模板題,然而我De了一上午Bug...... 按時間分成左右兩半,按x坐標排序然后把y坐標丟到樹狀數組里,掃一遍遇到左邊的就add,遇到右邊的query 幾個弱智出了bug的點, 一是先分了左右兩半再排序,保證的是這次的左…

深入理解InnoDB(1)—行的存儲結構

1.InnoDB頁的簡介 頁(Page)是 Innodb 存儲引擎用于管理數據的最小磁盤單位。常見的頁類型有數據頁、Undo 頁、系統頁、事務數據頁等 2.InnoDB行的存儲格式 我們插入MySQL的記錄在InnoDB中可能以4中行格式存儲,分別是Compact、Redundant、D…

做嵌入式的必須學Android嗎

做嵌入式的必須學Android嗎Android方向適合哪些人呢?適合那些已經在自己領域有了一定的工作經驗的人,適合作為自己的拓展,適合提升自己的能力,譬如說已經做三年Linux驅動,就可以嘗試拓展去做Android驅動首先從技術角度…

test4

test4 轉載于:https://www.cnblogs.com/Forever77/p/11441980.html

boltzmann_推薦系統系列第7部分:用于協同過濾的Boltzmann機器的3個變體

boltzmannRecSys系列 (RecSys Series) Update: This article is part of a series where I explore recommendation systems in academia and industry. Check out the full series: Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, and Part 7.更新: 本文是我探索…

.net 初學者_在此初學者課程中學習使用TensorFlow 2.0開發神經網絡

.net 初學者Learn how to use TensorFlow 2.0 in this full video course from Tech with Tim. This course will show you how to create neural networks with Python and TensorFlow 2.0.在Tech與Tim的完整視頻課程中,學習如何使用TensorFlow 2.0。 本課程將向您…

AndroidStudio怎樣導入library項目開源庫 - 轉

https://jingyan.baidu.com/article/1974b2898917aff4b1f77415.html轉載于:https://www.cnblogs.com/EasyLive2006/p/7477719.html

深入理解InnoDB(2)—頁的存儲結構

1. 記錄頭信息 上一篇博客說到每行記錄都會有記錄頭信息,用來記錄每一行的一些屬性 Compact行記錄的記錄頭信息為例 1.1 delete_mask 這個屬性標記著當前記錄是否被刪除,占用1個二進制位,值為0的時候代表記錄并沒有被刪除,為1的…

PHP中的命名空間

1. PHP中的命名空間是什么? 官方解釋在此: 命名空間概述 命名空間用一句話說,就是:把 類、函數、變量 等放到邏輯子文件夾中去,以避免命名沖突。 注:命名空間跟實際代碼文件在文件系統中的路徑沒有任何關系…

pandas 入門

pandas簡介:pandas包含的數據結構和數據處理工具的設計使得利用進行數據清洗和數據分析非常快捷;與numpy的區別,pandas用來處理表格型或異質型數據的,而numpy更適合處理同質型的數值類數據。 1、Series簡介 1、Series是一種一維的…

傳智播客軟件測試第一期_播客:冒險如何推動一位軟件工程師的職業發展

傳智播客軟件測試第一期On this weeks episode of the freeCodeCamp podcast, Abbey chats with developer and wearer of many hats Princiya about how she changed careers, moved to Berlin, and worked her way up to a lead role.在本周的freeCodeCamp播客節目中&#xf…

爬蟲神經網絡_股市篩選和分析:在投資中使用網絡爬蟲,神經網絡和回歸分析...

爬蟲神經網絡與AI交易 (Trading with AI) Stock markets tend to react very quickly to a variety of factors such as news, earnings reports, etc. While it may be prudent to develop trading strategies based on fundamental data, the rapid changes in the stock mar…

Promise 原理解析與實現(遵循Promise/A+規范)

1.什么是Promise? Promise是JS異步編程中的重要概念,異步抽象處理對象,是目前比較流行Javascript異步編程解決方案之一 2.對于幾種常見異步編程方案 回調函數事件監聽發布/訂閱Promise對象這里就拿回調函數說說 1.對于回調函數 我們用Jquery的ajax獲取數…

php 數據訪問練習:投票頁面

<!--投票界面--> <html> <head> <title></title> <meta charset"UTF-8"/> <link rel"stylesheet" type"text/css" href"bootstrap.min.css"/> <script src"bootstrap.min.js"…