跳到主要內容

手把手教你學numpy,從此數據處理不再慌【三】_網頁設計


網頁設計最專業,超強功能平台可客製化



窩窩以「數位行銷」「品牌經營」「網站與應用程式」「印刷品設計」等四大主軸,為每一位客戶客製建立行銷脈絡及洞燭市場先機。


本文始發於個人公眾號:TechFlow,原創不易,求個關注





今天是numpy專題的第三篇,我們來聊聊numpy當中的索引。


上篇的末尾其實我們簡單地提到了索引,但是沒有過多深入。沒有過多深入的原因也很簡單,因為numpy當中關於索引的用法實在是很多,並不是我們想的那樣用一個下標去獲取數據就完事了。


所以我整理了一下相關的用法,把關於索引的使用簡單分成了幾類,我們一個一個來看。


切片索引


切片我們都熟悉,用冒號將兩個數隔開,表示一個區間的上界和下界。通過這種方式訪問這個區間內的所有元素。


這一點我們之前介紹過,我們簡單回顧一下。


這是一維數組的切片,既然一維數組可以切片,那麼同樣高維數組也可以切片。我們來看一個二維的數組的切片:


我們生成了一個3 x 4的二維數組,然後通過切片獲取了它的1-2數據。由於我們是對行切片,默認保留這一行的所有數據。


如果我們並不需要所有數據,而是只需要某一列的固定數據,可以寫成這樣:


這一行代碼的意思是對於行我們獲取1-3行固定第二列的數據,我們用表格表示的話大概是下面這個樣子:


我們也可以對兩個維度同時切片,這樣可以得到更加複雜的數據:


這樣切片獲得的數據大概是這樣的:


也就是說在numpy的數組當中各個維度是分開的,每一個維度都支持切片。我們可以根據我們的需要切片或者是固定下標來獲取我們想要的切片。


bool型索引


numpy當中還有一個非常好用的索引方式叫做bool型索引。前文介紹廣播的時候曾經介紹過,當我們將兩個大小不一致的數組進行計算的時候,numpy會自動幫我們將它們廣播成大小一致的情況再進行運算。


而邏輯判斷其實也是一種運算,所以如果我們將邏輯運算應用在numpy數組上的話同樣會得到一個numpy數組,只不過是bool類型的numpy數組。


我們來看一個例子:


※推薦評價好的iphone維修中心



擁有專業的維修技術團隊,同時聘請資深iphone手機維修專家,現場說明手機問題,快速修理,沒修好不收錢



我們創建了一個numpy的數組,然後將它和整數4進行比較,numpy會將這個運算廣播到其中每一個元素當中,然後返回得到一個bool類型的numpy數組。


這個bool類型的數組可以作為索引,傳入另外一個數組當中,只有bool值為true的行才會被保留。


我們發現只有第4行和第6行的數據被保留了,也就是bool值為true的行號被保留了。這是非常有用的數據獲取方式,我們可以直接將判斷條件放入索引當中進行數據的過濾,如果應用熟練了會非常方便。


再舉個例子,假如我們要根據二維數據的第一列的數據進行過濾,僅僅保留第一列數據大於0.5的。如果按照傳統的方法我們需要用一個循環去過濾,但是使用bool類型索引,我們可以只需要一行搞定:


arr[arr[:, 0] > 0.5]

如果有多個條件,我們可以用位運算的與或非進行連接。在Python當中位運算的與或非分別用符號&, |, ~表示。


舉個例子,比如我們想要篩選出arr數組當中第1列大於0.5,並且第二列小於0.5的數據,我們可以寫成這樣:


arr[(arr[:, 0] > 0.5) & (arr[:, 1] < 0.5)]

如果我們想求這個條件的相反條件,我們當然可以將判斷條件反過來寫,但是也可以通過~符號直接取反:


arr[~((arr[:, 0] > 0.5) & (arr[:, 1] < 0.5))]

花式索引


除了bool索引之外,numpy當中還支持一種花式索引。


所謂的花式索引,意思是說支持將另外一個數組當做是索引來訪問數據


舉個很簡單的例子:


從上面的例子我們可以看出來,我們把idx這個數組當中的值當做了索引進行了數據的訪問。並且有重複值也沒有關係,numpy不會進行去重。


通過數組訪問數據有什麼用呢?其實非常有用,在我們做機器學習的過程當中,我們經常涉及到一個採樣的問題。我們每次訓練並不是全量的數據,否則非常慢,有時候甚至是不可能完成的,因為數據量太大了。我們往往是抽取出一批數據作為一個batch來訓練的,這個在之前批量梯度下降的文章當中曾經提到過。


那麼一個batch的數據是怎麼抽取的呢?就是這樣抽取的,我們會調用np中的一個函數叫做choice,我們用它來從所有樣本的下標當中抽取我們指定數量的下標。


有了下標數組之後,我們用一下花式索引就可以拿到對應的全部數據了,如果你看過大牛寫的深度學習的代碼,裏面幾乎都是這樣實現的。


總結


今天關於numpy當中索引的使用和介紹就到這裏,僅僅看介紹可能感受並不明顯。但如果上手用numpy做過一次數據處理和實現過機器學習的模型,相信一定可以感受到它的易用性和強大的功能。索引這個功能非常常用,也非常重要,在後序的pandas庫當中同樣沿用了numpy中對於索引的設定和功能。因此這既是重要的基本功,也是為後面的學習打基礎。


如果喜歡本文,可以的話,請點個關注,給我一點鼓勵,也方便獲取更多文章。



本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

台北網頁設計公司這麼多該如何選擇?



網動是一群專業、熱情、向前行的工作團隊,我們擁有靈活的組織與溝通的能力,能傾聽客戶聲音,激發創意的火花,呈現完美的作品




Orignal From: 手把手教你學numpy,從此數據處理不再慌【三】_網頁設計

留言

這個網誌中的熱門文章

掃地機器人可以隨身帶上飛機嗎?我想要拿去送給國外的朋友

掃地機器人如果要隨身戴上飛機需要滿足兩個條件: 一個是掃地機器人連同你的隨身行李,整體的體積和重量要符合上機條件,這個具體每家航空公司都不同,可以諮詢,簡單的說就是隨身行李不要超寬超重。 還有一個就是由於掃地機器人內置了鋰電池,所以內置電池的容量要符合相關規定,每個掃地機器人電池容量都不同,具體自行查詢。 根據民航的相關安全要求,凡帶有鋰電池的電子設備均不可以托運,但符合重量要求,尺寸要求以及電量要求的鋰電池及其設備是可以帶上飛機的。 《鋰電池航空運輸規範》中內含鋰離子電池的設備電池額定能量不應超過100Wh的規定,符合國標GB31241-2014,並通過UN38.3航空運輸認證等國際安全標準,所以可以帶上飛機。但是不能托運,只能隨身攜帶。 掃地機器人     掃地機器人     掃地機器人吸塵器 http://www.greenh3y.com/?p=400 Orignal From: 掃地機器人可以隨身帶上飛機嗎?我想要拿去送給國外的朋友

不滿國際規範斷財路 非洲多國擬退野生動保公約

摘錄自2019年09月01日中央通訊社非洲報導 非洲南部多國揚言退出「瀕臨絕種野生動植物國際貿易公約」,因為公約多數成員拒絕放寬象牙與犀牛角交易,並且幾乎全面禁止將野生捕獲的大象送到動物園。 這個公約嚴格規範全球野生動物交易,包括限制象牙與犀牛角交易。 本週在日內瓦召開修訂「瀕臨絕種野生動植物國際貿易公約」(CITES)的會議期間,由於區域集團非南開發共同體(SADC)的多項提案遭否決,這個集團與公約的關係惡化。 全球大象數量最多的區域波札那、納米比亞與辛巴威要求販售取自自然死亡、充公與汰除的大象象牙,這項提議被居多數的101票否決。 40多年前制訂的CITES規範約3萬6000種動植物交易,並設計有助於遏止非法交易和制裁違規國家的機制。 不過有16個成員國的非南開發共同體部分會員批評CITES對非洲國家的問題視若無睹。 坦尚尼亞環境部長西蒙巴徹恩(George Simbachawene)於日內瓦召開的會議中表示:「結果無法採取進步、公平、包容與基於科學的的保育策略。」 他說:「該是認真重新考慮我們加入CITES是否有任何實質益處的時候了。」 本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理 【搬家相關資訊指南】 台中搬家 , 彰化搬家 , 南投搬家 前需注意的眉眉角角,別等搬了再說! 避免吃悶虧無故遭抬價! 台中搬家公司 免費估價,有契約讓您安心有保障! 評比 彰化搬家公司費用 , 南投搬家公司費用 收費行情懶人包大公開 彰化搬家費用 , 南投搬家費用 ,距離,噸數怎麼算?達人教你簡易估價知識! Orignal From: 不滿國際規範斷財路 非洲多國擬退野生動保公約

60歲三度創業「全家都反對」如何變身年收6億超級董座?

成立不到15年的雄順金屬,是台灣螺絲上游加工廠的後起之秀,靠著規模、客製化及效率,殺出一條成功之路,如今坐穩國內螺絲螺帽產能最大的隱形推手。 為了解決客戶對螺絲品質的抱怨,做家具外銷生意的他,竟自己跳下來生產螺絲,躋身全球最大家具用螺絲廠後,又繼續朝上游垂直整合,如今成了全台盤元酸洗產能最大的加工廠! 盤元酸洗:盤元是指以鋼胚為原料,經軋延後製成盤元棒鋼與線材,再加工後可生產螺絲、螺帽、鋼線等下游產品;酸洗則是金屬表面處理一種加工方法,用於除去汙漬、鏽斑等。 他,正是台灣螺絲產業出口金額1900億元背後的隱形推手、近期要上櫃的新兵雄順金屬(以下簡稱雄順)董事長陳啟祥。 位於高雄螺絲聚落路竹的雄順,成立於2010年,年營業約6億元,平均每年每股稅後純益(EPS)能交出2至3元,表現十分穩健。不過很難想像,雄順已是年過7旬的陳啟祥第三次創業,「我要做雄順的時候已經60歲了,那時我全家反對,沒有一個人支持我!」 原來,早年做家具外銷的陳啟祥,長年以來面對海外客戶不斷抱怨「組裝螺絲的品質就是有問題」,他回頭向螺絲廠反映也得不到有效的解決辦法,而且遍尋供應商無果,他便決定在1980年成立至盈實業。 網頁設計 最專業,超強功能平台可客製,窩窩以「數位行銷」「品牌經營」「網站與應用程式」「印刷品設計」等四大主軸,為每一位客戶客製建立行銷脈絡及洞燭市場先機,請問 台中電動車 哪裡在賣比較便宜可以到台中景泰電動車門市去看看總店:臺中市潭子區潭秀里雅潭路一段102-1號。 電動車補助 推薦評價好的 iphone維修 中心擁有專業的維修技術團隊,同時聘請資深iphone手機維修專家,現場說明手機問題,快速修理,沒修好不收錢住家的頂樓裝 太陽光電 聽說可發揮隔熱功效一線推薦東陽能源擁有核心技術、產品研發、系統規劃設置、專業團隊的太陽能發電廠商。 網頁設計 一頭霧水該從何著手呢? 回頭車 貨運收費標準宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念 台中搬家公司 教你幾個打包小技巧,輕鬆整理裝箱!還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」 台中搬家 公司費用怎麼算?擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司好山好水 露...