小編寫(xiě)這篇文章的主要目的,就是給大家來(lái)做一個(gè)詳細(xì)的介紹,介紹關(guān)于Python Numpy的一些知識(shí),比如在面向數(shù)組編程的時(shí)候,我們需要怎么進(jìn)行操作,下面就給大家詳細(xì)解答下。
數(shù)組編程
使用Numpy數(shù)組可以使你利用簡(jiǎn)單的數(shù)組表達(dá)式完成多項(xiàng)數(shù)據(jù)操作任務(wù),而不需要編寫(xiě)大量的循環(huán),這個(gè)極大的幫助了我們高效的解決問(wèn)題。
我們都知道向量化的數(shù)組操作比純Python的等價(jià)實(shí)現(xiàn)在速度這一方面快很多,至于多少(一到兩個(gè)數(shù)量級(jí))甚至更多,生活需要慢節(jié)奏,但是計(jì)算就不可以了,掌握高效的計(jì)算模型,可以讓數(shù)據(jù)分析如虎添翼!
簡(jiǎn)單例子
我們生成從-3.14--3.14,按照0.01的間隔生成,最后計(jì)算表達(dá)式X^2+Y^2的值
邏輯條件作為數(shù)組操作
numpy.where函數(shù)是三元表達(dá)式x if condition else y的向量化版本,假設(shè)我們有一個(gè)布爾值數(shù)組和兩個(gè)數(shù)值數(shù)組
首先我們要明確的是我們自己去寫(xiě)這個(gè)邏輯來(lái)進(jìn)行判斷的話就比較的失敗,因?yàn)橛龅奖容^大的數(shù)組,速度會(huì)比較的慢,因?yàn)樗械拇a工作都是解釋器Python代碼完成的,其次如果是多維的那就無(wú)法湊效了,但是我們使用np.where就可以簡(jiǎn)單的完成。
在np.where的第二個(gè)和第三個(gè)參數(shù)并需要數(shù)組,它們可以是標(biāo)量,where在數(shù)據(jù)分析中的一個(gè)典型用法就是根據(jù)一個(gè)數(shù)組來(lái)生成一個(gè)新的數(shù)組。假設(shè)你有一個(gè)隨機(jī)生成的矩陣數(shù)據(jù),并且你想要其中的正值都有替換為2,所有的負(fù)數(shù)都替換為-2,使用這個(gè)函數(shù)輕松解決。
首先我們要明確的是我們自己去寫(xiě)這個(gè)邏輯來(lái)進(jìn)行判斷的話就比較的失敗,因?yàn)橛龅奖容^大的數(shù)組,速度會(huì)比較的慢,因?yàn)樗械拇a工作都是解釋器Python代碼完成的,其次如果是多維的那就無(wú)法湊效了,但是我們使用np.where就可以簡(jiǎn)單的完成。
在np.where的第二個(gè)和第三個(gè)參數(shù)并需要數(shù)組,它們可以是標(biāo)量,where在數(shù)據(jù)分析中的一個(gè)典型用法就是根據(jù)一個(gè)數(shù)組來(lái)生成一個(gè)新的數(shù)組。假設(shè)你有一個(gè)隨機(jī)生成的矩陣數(shù)據(jù),并且你想要其中的正值都有替換為2,所有的負(fù)數(shù)都替換為-2,使用這個(gè)函數(shù)輕松解決。
數(shù)學(xué)和統(tǒng)計(jì)方法
許多關(guān)于計(jì)算整個(gè)數(shù)組統(tǒng)計(jì)值或關(guān)于軸向數(shù)據(jù)的數(shù)據(jù)函數(shù),可以作為數(shù)組類(lèi)型的方法被調(diào)用。你可以使用聚合函數(shù)(通常也叫縮減函數(shù)),比如sum,mean,STD(標(biāo)準(zhǔn)差)既可以直接調(diào)用也可以使用頂層的numpy函數(shù)
對(duì)于統(tǒng)計(jì)方法我們的案例其實(shí)差不多,至于怎樣去了解那就需要自己去琢磨了,下面有一個(gè)基礎(chǔ)數(shù)組的統(tǒng)計(jì)方法
基礎(chǔ)數(shù)組的統(tǒng)計(jì)方法:
一行代碼計(jì)算1+2+....10數(shù)之和
布爾數(shù)組的方法
sum通常可以計(jì)算布爾值數(shù)組中true的個(gè)數(shù),對(duì)于布爾數(shù)組,有兩個(gè)非常常用的方法any和all。any用于檢查數(shù)組中是否至少有一個(gè)true,如果有一個(gè)以上那么它就會(huì)返回true,any檢查是否每一個(gè)值都是true,如果有一個(gè)不是true那就返回false。
排序
和Python類(lèi)建列表相似,numpy數(shù)組可以使用sort方法按照位置排序
唯一值和其他的邏輯集合
介紹:
numpy包含一些針對(duì)一維ndarray的基礎(chǔ)集合操作。常用的一個(gè)方法是np.unique返回的是包含數(shù)組唯一的排好序的集合,首先集合肯定是唯一的,那么我們?cè)谶M(jìn)行排序,解決它的無(wú)序性
應(yīng)用場(chǎng)景假設(shè)有一個(gè)數(shù)組里面有很多值,而且有大量的重復(fù)的值我們需要對(duì)其進(jìn)行排序,就可以使用這個(gè)方法了,下面是一些數(shù)組集合的操作
數(shù)組集合操作:
unique(x)計(jì)算X的唯一值,并排序intersect1d(x,y)計(jì)算X和Y的交集,并排序union1d(x,y)計(jì)算X和Y的并集,并排序in1d(x,y)計(jì)算X中的元素是否包含在Y中,返回一個(gè)布爾值數(shù)組setdiff1d(x,y)差集,在X中但不在Y中的元素setxor1d(x,y)異或集,在X或Y中,但不屬于X,Y交集的元素
綜上所述,小編就為大家介紹到這里了,希望能給各位讀者
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/127994.html
摘要:原文鏈接譯文鏈接使用一步一步地來(lái)進(jìn)行數(shù)據(jù)分析翔你已經(jīng)決定來(lái)學(xué)習(xí),但是你之前沒(méi)有編程經(jīng)驗(yàn)。在我看來(lái)精通用開(kāi)發(fā)好的軟件才能夠高效地進(jìn)行數(shù)據(jù)分析,這觀點(diǎn)是沒(méi)有必要的。 原文鏈接:Step by step approach to perform data analysis using Python 譯文鏈接:使用Python一步一步地來(lái)進(jìn)行數(shù)據(jù)分析--By Michael翔 你已經(jīng)決定來(lái)學(xué)習(xí)P...
摘要:屬于前一種,而且日益被用于數(shù)學(xué)計(jì)算機(jī)器學(xué)習(xí)和多種數(shù)據(jù)科學(xué)應(yīng)用。近來(lái),由于擁有多個(gè)針對(duì)機(jī)器學(xué)習(xí)自然語(yǔ)言處理數(shù)據(jù)視覺(jué)化數(shù)據(jù)探索數(shù)據(jù)分析和數(shù)據(jù)挖掘的插件,豐富的數(shù)據(jù)科學(xué)生態(tài)體系得到了較大的發(fā)展,甚至有將數(shù)據(jù)科學(xué)社區(qū)化的趨勢(shì)。 譯者注:本文的英文原文地址是:Python for Data Science vs Python for Web Development,發(fā)布時(shí)間是10月29日。譯者一...
摘要:之成為圖像處理任務(wù)的最佳選擇,是因?yàn)檫@一科學(xué)編程語(yǔ)言日益普及,并且其自身免費(fèi)提供許多最先進(jìn)的圖像處理工具。該庫(kù)包含基本的圖像處理功能,包括點(diǎn)操作使用一組內(nèi)置卷積內(nèi)核進(jìn)行過(guò)濾以及顏色空間轉(zhuǎn)換。圖像處理系統(tǒng)有時(shí)被稱為圖像處理的瑞士軍刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);編譯:張秋玥、小七、蔣寶尚 本...
摘要:是什么今天開(kāi)始會(huì)陸續(xù)為大家?guī)?lái)數(shù)據(jù)科學(xué)常用包的基礎(chǔ)用法數(shù)據(jù)分析的工作涉及到大量的數(shù)值運(yùn)算,一個(gè)高效方便的科學(xué)計(jì)算工具是必不可少的。 NumPy是什么? 今天開(kāi)始會(huì)陸續(xù)為大家?guī)?lái)數(shù)據(jù)科學(xué)常用包的基礎(chǔ)用法 數(shù)據(jù)分析的工作涉及到大量的數(shù)值運(yùn)算,一個(gè)高效方便的科學(xué)計(jì)算工具是必不可少的。Python語(yǔ)言一開(kāi)始并不是設(shè)計(jì)為科學(xué)計(jì)算使用的語(yǔ)言,隨著越來(lái)越多的人發(fā)現(xiàn)Python的易用性,逐漸出現(xiàn)了關(guān)于...
閱讀 917·2023-01-14 11:38
閱讀 888·2023-01-14 11:04
閱讀 747·2023-01-14 10:48
閱讀 2027·2023-01-14 10:34
閱讀 954·2023-01-14 10:24
閱讀 830·2023-01-14 10:18
閱讀 504·2023-01-14 10:09
閱讀 581·2023-01-14 10:02