圖靈程序設計叢書·Python數據分析基礎教程:NumPy學習指南(第2版) [NumPy beginner’s guide,second edition]

圖靈程序設計叢書·Python數據分析基礎教程:NumPy學習指南(第2版) [NumPy beginner’s guide,second edition] pdf epub mobi txt 電子書 下載 2025

[印尼] Ivan Idris 著,張馭宇 譯
圖書標籤:
  • Python
  • NumPy
  • 數據分析
  • 科學計算
  • 機器學習
  • 教程
  • 入門
  • 圖靈程序設計叢書
  • 第二版
  • 編程
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115339409
版次:2
商品編碼:11383765
包裝:平裝
叢書名: 圖靈程序設計叢書
外文名稱:NumPy beginner’s guide,second edition
開本:16開
齣版時間:2014-01-01
用紙:膠版紙
頁數:226
正文語種:中文

具體描述

産品特色

編輯推薦

  

  罕見的NumPy中文入門教程,Python數據分析優選從基礎的知識講起,手把手帶你進入大數據挖掘領域囊括大量具有啓發性與實用價值的實戰案例。

內容簡介

  《圖靈程序設計叢書;Python數據分析基礎教程:NumPy學習指南(第2版)》是NumPy的入門教程,主要介紹NumPy以及相關的Python科學計算庫,如SciPy和Matplotlib。《圖靈程序設計叢書;Python數據分析基礎教程:NumPy學習指南(第2版)》內容涵蓋NumPy安裝、數組對象、常用函數、矩陣運算、綫性代數、金融函數、窗函數、質量控製、Matplotlib繪圖、SciPy簡介以及Pygame等內容,涉及麵較廣。另外,Ivan Idris針對每個知識點給齣瞭簡短而明晰的示例,並為大部分示例給齣瞭實用場景(如股票數據分析),在幫助初學者入門的同時,提高瞭本書可讀性。
  《圖靈程序設計叢書;Python數據分析基礎教程:NumPy學習指南(第2版)》適閤正在找尋高質量開源計算庫的科學傢、工程師、程序員和定量管理分析師閱讀參考。

作者簡介

  Ivan Idris,實驗物理學碩士,曾在多傢公司從事Java開發、數據倉庫開發和軟件測試的工作,主要關注商務智能、大數據和雲計算。Ivan喜歡寫簡潔的可測試代碼,並樂於撰寫有趣的技術文章,另著有《NumPy攻略:Python科學計算與數據分析》和Instant Pygame for Python Game Development How-to。

內頁插圖

精彩書評

“本書介紹瞭大量常用技術,對於我的研究工作來說是本很好的參考書。不過,它絕不止是一本簡單的學習指南,因為Ivan Idris很明顯在全麵而建設性地發掘NumPy的各種功能。……本書還很好地探討瞭信息的圖形化錶示,並用整章篇幅來介紹Matplotlib繪圖,及如何生成常用圖形以促進工作中的有效溝通。……讀者隻需具備簡單的Python語法知識,便可快速掌握本書知識,結閤使用NumPy及其他Python科學計算庫提高工作效率。”

"本書文風簡約而不失深度,深入淺齣地講解瞭NumPy的使用及相關知識。Ivan Idris不僅給齣瞭大量示例及代碼,而且為我們提供瞭豐富的趣味性練習。"

——讀者評論

目錄

第1章 NumPy快速入門
1.1  Python
1.2  動手實踐:在不同的操作係統上安裝Python
1.3  Windows
1.4  動手實踐:在Windows上安裝NumPy、Matplotlib、SciPy和IPython
1.5  Linux
1.6  動手實踐:在Linux上安裝NumPy、Matplotlib、SciPy和IPython
1.7  Mac OS X
1.8  動手實踐:在Mac OS X上安裝NumPy、Matplotlib和SciPy
1.9  動手實踐:使用MacPorts或Fink安裝NumPy、SciPy、Matplotlib和IPython
1.10  編譯源代碼
1.11  數組對象
1.12  動手實踐:嚮量加法
1.13  IPython:一個交互式shell工具
1.14  在綫資源和幫助
1.15  本章小結


第2章 NumPy基礎
2.1  NumPy數組對象
2.2  動手實踐:創建多維數組
2.2.1  選取數組元素
2.2.2  NumPy數據類型
2.2.3  數據類型對象
2.2.4  字符編碼
2.2.5  自定義數據類型
2.2.6  dtype類的屬性
2.3  動手實踐:創建自定義數據類型
2.4  一維數組的索引和切片
2.5  動手實踐:多維數組的切片和索引
2.6  動手實踐:改變數組的維度
2.7  數組的組閤
2.8  動手實踐:組閤數組
2.9  數組的分割
2.10  動手實踐:分割數組
2.11  數組的屬性
2.12  動手實踐:數組的轉換
2.13  本章小結


第3章 常用函數
3.1  文件讀寫
3.2  動手實踐:讀寫文件
3.3  CSV文件
3.4  動手實踐:讀入CSV文件
3.5  成交量加權平均價格(VWAP)
3.6  動手實踐:計算成交量加權平均價格
3.6.1  算術平均值函數
3.6.2  時間加權平均價格
3.7  取值範圍
3.8  動手實踐:找到最大值和最小值
3.9  統計分析
3.10  動手實踐:簡單統計分析
3.11  股票收益率
3.12  動手實踐:分析股票收益率
3.13  日期分析
3.14  動手實踐:分析日期數據
3.15  周匯總
3.16  動手實踐:匯總數據
3.17  真實波動幅度均值(ATR)
3.18  動手實踐:計算真實波動幅度均值
3.19  簡單移動平均綫
3.20  動手實踐:計算簡單移動平均綫
3.21  指數移動平均綫
3.22  動手實踐:計算指數移動平均綫
3.23  布林帶
3.24  動手實踐:繪製布林帶
3.25  綫性模型
3.26  動手實踐:用綫性模型預測價格
3.27  趨勢綫
3.28  動手實踐:繪製趨勢綫
3.29  ndarray對象的方法
3.30  動手實踐:數組的修剪和壓縮
3.31  階乘
3.32  動手實踐:計算階乘
3.33  本章小結


第4章 便捷函數
4.1  相關性
4.2  動手實踐:股票相關性分析
4.3  多項式
4.4  動手實踐:多項式擬閤
4.5  淨額成交量
4.6  動手實踐:計算OBV
4.7  交易過程模擬
4.8  動手實踐:避免使用循環
4.9  數據平滑
4.10  動手實踐:使用hanning函數平滑數據
4.11  本章小結


第5章 矩陣和通用函數
5.1  矩陣
5.2  動手實踐:創建矩陣
5.3  從已有矩陣創建新矩陣
5.4  動手實踐:從已有矩陣創建新矩陣
5.5  通用函數
5.6  動手實踐:創建通用函數
5.7  通用函數的方法
5.8  動手實踐:在add上調用通用函數的方法
5.9  算術運算
5.10  動手實踐:數組的除法運算
5.11  模運算
5.12  動手實踐:模運算
5.13  斐波那契數列
5.14  動手實踐:計算斐波那契數列
5.15  利薩茹麯綫
5.16  動手實踐:繪製利薩茹麯綫
5.17  方波
5.18  動手實踐:繪製方波
5.19  鋸齒波和三角波
5.20  動手實踐:繪製鋸齒波和三角波
5.21  位操作函數和比較函數
5.22  動手實踐:玩轉二進製位
5.23  本章小結


第6章 深入學習NumPy模塊

6.1  綫性代數
6.2  動手實踐:計算逆矩陣
6.3  求解綫性方程組
6.4  動手實踐:求解綫性方程組
6.5  特徵值和特徵嚮量
6.6  動手實踐:求解特徵值和特徵嚮量
6.7  奇異值分解
6.8  動手實踐:分解矩陣
6.9  廣義逆矩陣
6.10  動手實踐:計算廣義逆矩陣
6.11  行列式
6.12  動手實踐:計算矩陣的行列式
6.13  快速傅裏葉變換
6.14  動手實踐:計算傅裏葉變換
6.15  移頻
6.16  動手實踐:移頻
6.17  隨機數
6.18  動手實踐:硬幣賭博遊戲
6.19  超幾何分布
6.20  動手實踐:模擬遊戲秀節目
6.21  連續分布
6.22  動手實踐:繪製正態分布
6.23  對數正態分布
6.24  動手實踐:繪製對數正態分布
6.25  本章小結


第7章 專用函數
7.1  排序
7.2  動手實踐:按字典序排序
7.3  復數
7.4  動手實踐:對復數進行排序
7.5  搜索
7.6  動手實踐:使用searchsorted函數
7.7  數組元素抽取
7.8  動手實踐:從數組中抽取元素
7.9  金融函數
7.10  動手實踐:計算終值
7.11  現值
7.12  動手實踐:計算現值
7.13  淨現值
7.14  動手實踐:計算淨現值
7.15  內部收益率
7.16  動手實踐:計算內部收益率
7.17  分期付款
7.18  動手實踐:計算分期付款
7.19  付款期數
7.20  動手實踐:計算付款期數
7.21  利率
7.22  動手實踐:計算利率
7.23  窗函數
7.24  動手實踐:繪製巴特利特窗
7.25  布萊剋曼窗
7.26  動手實踐:使用布萊剋曼窗平滑股價數據
7.27  漢明窗
7.28  動手實踐:繪製漢明窗
7.29  凱澤窗
7.30  動手實踐:繪製凱澤窗
7.31  專用數學函數
7.32  動手實踐:繪製修正的貝塞爾函數
7.33  sinc函數
7.34  動手實踐:繪製sinc函數
7.35  本章小結


第8章 質量控製
8.1  斷言函數
8.2  動手實踐:使用assert_almost_equal斷言近似相等
8.3  近似相等
8.4  動手實踐:使用assert_approx_equal斷言近似相等
8.5  數組近似相等
8.6  動手實踐:斷言數組近似相等
8.7  數組相等
8.8  動手實踐:比較數組
8.9  數組排序
8.10  動手實踐:核對數組排序
8.11  對象比較
8.12  動手實踐:比較對象
8.13  字符串比較
8.14  動手實踐:比較字符串
8.15  浮點數比較
8.16  動手實踐:使用assert_array_ almost_equal_nulp比較浮點數
8.17  多ULP的浮點數比較
8.18  動手實踐:設置maxulp並比較浮點數
8.19  單元測試
8.20  動手實踐:編寫單元測試
8.21  nose和測試裝飾器
8.22  動手實踐:使用測試裝飾器
8.23  文檔字符串
8.24  動手實踐:執行文檔字符串測試
8.25  本章小結


第9章 使用Matplotlib繪圖
9.1  簡單繪圖
9.2  動手實踐:繪製多項式函數
9.3  格式字符串
9.4  動手實踐:繪製多項式函數及其導函數
9.5  子圖
9.6  動手實踐:繪製多項式函數及其導函數
9.7  財經
9.8  動手實踐:繪製全年股票價格
9.9  直方圖
9.10  動手實踐:繪製股價分布直方圖
9.11  對數坐標圖
9.12  動手實踐:繪製股票成交量
9.13  散點圖
9.14  動手實踐:繪製股票收益率和成交量變化的散點圖
9.15  著色
9.16  動手實踐:根據條件進行著色
9.17  圖例和注釋
9.18  動手實踐:使用圖例和注釋
9.19  三維繪圖
9.20  動手實踐:在三維空間中繪圖
9.21  等高綫圖
9.22  動手實踐:繪製色彩填充的等高綫圖
9.23  動畫
9.24  動手實踐:製作動畫
9.25  本章小結


第10章 NumPy的擴展:SciPy
10.1  MATLAB和Octave
10.2  動手實踐:保存和加載.mat文件
10.3  統計
10.4  動手實踐:分析隨機數
10.5  樣本比對和SciKits
10.6  動手實踐:比較股票對數收益率
10.7  信號處理
10.8  動手實踐:檢測QQQ股價的綫性趨勢
10.9  傅裏葉分析
10.10  動手實踐:對去除趨勢後的信號進行濾波處理
10.11  數學優化
10.12  動手實踐:擬閤正弦波
10.13  數值積分
10.14  動手實踐:計算高斯積分
10.15  插值
10.16  動手實踐:一維插值
10.17  圖像處理
10.18  動手實踐:處理Lena圖像
10.19  音頻處理
10.20  動手實踐:重復音頻片段
10.21  本章小結


第11章 玩轉Pygame
11.1  Pygame
11.2  動手實踐:安裝Pygame
11.3  Hello World
11.4  動手實踐:製作簡單遊戲
11.5  動畫
11.6  動手實踐:使用NumPy和Pygame製作動畫對象
11.7  Matplotlib
11.8  動手實踐:在Pygame中使用Matplotlib
11.9  屏幕像素
11.10  動手實踐:訪問屏幕像素
11.11  人工智能
11.12  動手實踐:數據點聚類
11.13  OpenGL和Pygame
11.14  動手實踐:繪製謝爾賓斯基地毯
11.15  模擬遊戲
11.16  動手實踐:模擬生命
11.17  本章小結
突擊測驗答案

前言/序言

  如今,科學傢、工程師以及定量管理分析師麵臨著眾多的挑戰。數據科學傢們希望能夠用最小的編程代價在大數據集上進行數值分析,他們希望自己編寫的代碼可讀性好、執行效率高、運行速度快,並盡可能地貼近他們熟悉的一係列數學概念。在科學計算領域,有很多符閤這些要求的解決方案。

  在這方麵,C、C++和Fortran等編程語言各有優勢,但它們不是交互式語言,並且被很多人認為過於復雜。常見的商業産品還有Matlab、Maple和Mathematica。這些産品提供瞭強大的腳本語言,但和通用編程語言比起來,功能依然很有限。另外還有一些類似於Matlab的開源工具,如R、GNU Octave和Scilab。顯然,作為編程語言,它們都不如Python強大。

  Python是一種流行的通用編程語言,在科學領域被廣泛使用。你很容易在Python代碼中調用以前的C、Fortran或者R代碼。Python是麵嚮對象語言,比C和Fortran更加高級。使用Python可以寫齣易讀、整潔並且缺陷最少的代碼。然而,Python本身並不具有與Matlab等效的功能塊,而這恰恰就是NumPy存在的意義。本書就是要介紹NumPy以及相關的Python科學計算庫,如SciPy和Matplotlib。

  NumPy是什麼

  NumPy(Numerical Python的縮寫)是一個開源的Python科學計算庫。使用NumPy,就可以很自然地使用數組和矩陣。NumPy包含很多實用的數學函數,涵蓋綫性代數運算、傅裏葉變換和隨機數生成等功能。如果你的係統中已經裝有LAPACK,NumPy的綫性代數模塊會調用它,否則NumPy將使用自己實現的庫函數。LAPACK是一個著名的數值計算庫,最初是用Fortran寫成的,Matlab同樣也需要調用它。從某種意義上講,NumPy可以取代Matlab和Mathematica的部分功能,並且允許用戶進行快速的交互式原型設計。

  在本書中,我們不會從程序開發者的角度來討論NumPy,而是更多地立足於用戶,從他們的角度來分析它。不過值得一提的是,NumPy是一個非常活躍的開源項目,擁有很多的貢獻者,也許有一天你也能成為其中的一員!

  NumPy的由來

  NumPy的前身是Numeric。Numeric最早發布於1995年,如今已經廢棄瞭。由於種種原因,不管是Numeric還是NumPy,都沒能進入Python標準庫,不過單獨安裝NumPy也很方便。關於NumPy的安裝,我們將在第1章中詳細介紹。

  早在2001年,一些開發者受Numeric的啓發共同開創瞭一個叫做SciPy的項目。SciPy是一個開源的Python科學計算庫,提供瞭類似於Matlab、Maple和Mathematica的許多功能。那段時間,人們對於Numeric越來越不滿。於是,Numarray作為Numeric的替代品問世瞭。Numarray在某些方麵比Numeric更強大,但是它們的工作方式卻截然不同。鑒於此,SciPy繼續遵循Numeric的工作方式,並延續瞭對Numeric數組對象的支持。雖然人們總是傾嚮於使用“最新最好”的軟件,但是Numarray依然催生齣瞭一整套的係統,包括很多周邊的實用工具軟件。

  2005年,SciPy的早期發起人之一Travis Oliphant決定改變這一狀況,他開始將Numarray的一些特性整閤到Numeric中。一整套的代碼重構工作就此開始,並於2006年NumPy 1.0發布的時候全部完成。於是NumPy擁有瞭Numeric和Numarray的所有特性,並且還新增瞭一些功能。SciPy提供瞭一個升級工具,可以讓用戶方便地從Numeric和Numarray升級到NumPy。由於Numeric和Numarray均不再活躍更新,升級是必然的。

  如上所述,最初的NumPy其實是SciPy的一部分,後來纔從SciPy中分離齣來。如今,SciPy在處理數組和矩陣時會調用NumPy。

  為什麼使用NumPy

  對於同樣的數值計算任務,使用NumPy要比直接編寫Python代碼便捷得多。這是因為NumPy能夠直接對數組和矩陣進行操作,可以省略很多循環語句,其眾多的數學函數也會讓編寫代碼的工作輕鬆許多。NumPy的底層算法在設計時就有著優異的性能,並且經受住瞭時間的考驗。

  NumPy中數組的存儲效率和輸入輸齣性能均遠遠優於Python中等價的基本數據結構(如嵌套的list容器)。其能夠提升的性能是與數組中元素的數目成比例的。對於大型數組的運算,使用NumPy的確很有優勢。對於TB級的大文件,NumPy使用內存映射文件來處理,以達到最優的數據讀寫性能。不過,NumPy數組的通用性不及Python提供的list容器,這是其不足之處。因此在科學計算之外的領域,NumPy的優勢也就不那麼明顯瞭。關於NumPy數組的技術細節,我們將在後麵詳細討論。

  NumPy的大部分代碼都是用C語言寫成的,這使得NumPy比純Python代碼高效得多。NumPy同樣支持C語言的API,並且允許在C源代碼上做更多的功能拓展。C API的內容不在本書討論之列。最後要記往一點,NumPy是開源的,這意味著使用NumPy可以享受到開源帶來的所有益處。價格低到瞭極限——免費。你再也不用擔心每次有新成員加入團隊時,就要麵對軟件授權及更新的問題瞭。開源代碼是嚮所有人開放的,對於代碼質量而言這是非常有利的。

  NumPy的局限性

  如果你是Java程序員,可能會對Jython感興趣。Jython是Python語言在Java中的完整實現。遺憾的是,Jython運行在Java虛擬機上,無法調用NumPy,因為大部分NumPy模塊是用C語言實現的。Python和Jython可以說是完全不同的兩個世界,盡管它們實現的是同一套語言規範。當然,仍然有一些變通方案,具體內容在本書作者的另一本著作《NumPy攻略》中有所討論。

  本書內容

  第1章指導你在係統中安裝NumPy,並創建一個基本的NumPy應用程序。

  第2章介紹NumPy數組對象以及一些基礎知識。

  第3章教你使用NumPy中最常用的基本數學和統計分析函數。

  第4章講述如何便捷地使用NumPy,包括如何選取數組的某一部分(例如根據一組布爾值來選取)、多項式擬閤,以及操縱NumPy對象的形態。

  第5章涵蓋瞭矩陣和通用函數的內容。矩陣在數學中使用廣泛,在NumPy中也有專門的對象來錶示。通用函數(ufuncs)是一個能用於NumPy對象的標量函數,該函數的輸入為一組標量,並將生成一組標量作為輸齣。

  第6章探討通用函數的一些基本模塊。通用函數通常可映射到對應的數學運算,如加、減、乘、除等。

  第7章介紹NumPy中的一些專用函數。作為NumPy用戶,我們時常發現自己有一些特殊的需求。幸運的是,NumPy能滿足我們的大部分需求。

  第8章介紹怎樣編寫NumPy的單元測試代碼。

  第9章深入介紹非常有用的Python繪圖庫Matplotlib。雖然NumPy本身不能用來繪圖,但是Matplotlib和NumPy兩者完美地結閤在一起,其繪圖能力可與Matlab相媲美。

  第10章更詳細地介紹SciPy。如前所述,SciPy和NumPy是有曆史淵源的,SciPy是一套高端Python科學計算框架,可以與NumPy共同使用。

  第11章是本書的“餐後甜點”,這一章介紹如何用NumPy和Pygame寫齣有趣的遊戲。同時,我們也將從中“品嘗”到人工智能的“滋味”。

  閱讀條件

  要試驗本書中的代碼,你需要安裝最新版NumPy,因此要先安裝能夠運行NumPy的任一版Python。本書部分示例代碼采用Matplotlib進行繪圖,這些代碼不一定需要讀者全部運行,但依然推薦安裝Matplotlib。本書最後一章講的是SciPy,會討論一個使用SciKits的例子。

  以下是開發及測試示例代碼所需的軟件:

  Python 2.7

  NumPy 2.0.0.dev20100915

  SciPy 0.9.0.dev20100915

  Matplotlib 1.1.1

  Pygame 1.9.1

  IPython 0.14.dev

  當然,我並不是要你在計算機上裝全這些軟件或者必須裝指定版本,但Python和NumPy是必須安裝的。

  讀者對象

  本書適閤正在找尋高質量開源數學庫的科學傢、工程師、程序員和分析師閱讀參考。讀者應具備一些基本的Python編程知識。此外,讀者應該是經常與數學和統計學打交道,或起碼對它們感興趣。

  排版約定

  本書會通過不同樣式區彆不同類型的內容。下麵給齣部分樣式的示例及解釋。

  正文中的代碼格式如此處所示:“注意numpysum()函數中沒有使用for循環。”

  代碼段如下所示:

  def numpysum(n):

  a = numpy.arange(n) ** 2

  b = numpy.arange(n) ** 3

  c = a + b

  return c

  當我們希望你注意代碼中的某一部分時,會將相關的行或項用粗體錶示:

  reals = np.isreal(xpoints)

  print ""Real number?"", reals

  Real number? [ True True True True False False False False ]

  命令行輸入輸齣如下所示:

  >>>fromnumpy.testing import rundocs

  >>>rundocs('docstringtest.py')

  新術語和重要的名詞將用楷體錶示。你在屏幕、菜單或對話框中看到的文本會采用加粗樣式:“單擊Next按鈕進入下一界麵。”

  警告或重要說明將寫在這裏。

  小貼士和技巧將寫在這裏。
《Python數據分析基礎教程:NumPy學習指南(第2版)》 是一本旨在幫助讀者掌握NumPy庫核心概念和實用技巧的入門級讀物。本書聚焦於NumPy在數據科學領域的基礎作用,為初學者提供一條清晰的學習路徑,使其能夠高效地處理和分析數據。 核心內容與結構: 本書共分為十五章,從NumPy的基礎概念齣發,逐步深入到數組操作、數學函數、綫性代數、文件 I/O 等關鍵領域。每一章節都設計瞭清晰的邏輯脈絡,並配以豐富的代碼示例和練習題,旨在幫助讀者鞏固所學知識。 第一部分:NumPy入門與基礎 第一章:數據分析的基石——NumPy簡介 本章將帶你認識NumPy在Python數據科學生態中的地位,解釋為何NumPy如此重要。你將瞭解到NumPy的起源、發展以及它如何成為許多其他數據分析庫(如Pandas、SciPy、Scikit-learn)的基礎。通過對比Python列錶,你會直觀地感受到NumPy數組在處理數值數據時的效率優勢。 第二章:多維數組(ndarray)——NumPy的核心 這是NumPy學習的重中之重。本章將詳細介紹NumPy最核心的數據結構——`ndarray`。你將學習如何創建各種維度和數據類型的`ndarray`,理解數組的`shape`(形狀)、`ndim`(維度)、`size`(大小)和`dtype`(數據類型)等關鍵屬性。通過大量的示例,你將掌握創建數組的各種方法,例如從列錶創建、使用arange、linspace、zeros、ones、empty等函數。 第三章:數組的索引與切片 掌握數組的索引和切片是進行數據操作的基礎。本章將講解一維、二維及更高維數組的索引和切片技巧。你將學習如何通過整數索引、布爾索引和花式索引來訪問數組的元素。特彆地,你會深入理解切片操作的工作原理,以及如何通過切片來獲取數組的子集或視圖。 第四章:數組的變形與閤並 在數據處理過程中,經常需要改變數組的形狀或將多個數組組閤起來。本章將介紹如何使用`reshape`函數來改變數組的形狀,而不會改變其元素。你還將學習如何使用`flatten`和`ravel`函數將多維數組展平成一維數組。此外,本章還將講解`concatenate`、`stack`、`vstack`、`hstack`等函數,教你如何沿著指定的軸將多個數組進行閤並。 第二部分:NumPy的數學運算與函數 第五章:基礎數學運算 NumPy的強大之處在於其對數學運算的嚮量化支持。本章將詳細介紹NumPy數組上的各種基本算術運算符(加、減、乘、除、冪等)以及它們如何以元素級的方式進行計算。你還將學習如何執行比較運算(大於、小於、等於等),以及這些運算如何生成布爾數組,為後續的數據篩選奠定基礎。 第六章:通用函數(ufunc) 通用函數是NumPy提供的高效的、可用於數組上進行元素級操作的函數。本章將介紹NumPy提供的豐富通用函數庫,包括數學函數(如`sqrt`、`exp`、`log`、`sin`、`cos`等)、字符串函數、集閤函數等。你將學習如何應用這些函數,並通過示例理解它們在數據計算中的便捷性。 第七章:統計計算 在數據分析中,進行統計計算是必不可少的。本章將聚焦於NumPy提供的各種統計函數,如計算均值(`mean`)、中位數(`median`)、方差(`var`)、標準差(`std`)、最大值(`max`)、最小值(`min`)、求和(`sum`)、纍積求和(`cumsum`)等。你將學習如何對整個數組或沿著特定軸進行這些統計計算,以獲得數據的宏觀概覽。 第八章:隨機數生成 隨機數在模擬、抽樣、機器學習等領域扮演著重要角色。本章將深入講解NumPy的`random`模塊,演示如何生成各種類型的隨機數,包括均勻分布、正態分布、泊鬆分布等。你還將學習如何進行隨機抽樣、打亂數組順序等操作。 第三部分:NumPy的高級應用 第九章:綫性代數 NumPy是進行科學計算的有力工具,特彆是綫性代數運算。本章將介紹NumPy的`linalg`模塊,涵蓋矩陣的加法、乘法、轉置、逆矩陣、行列式計算等基本操作。你還將學習如何求解綫性方程組、計算特徵值和特徵嚮量,這些都是許多高級算法的基礎。 第十章:文件輸入/輸齣 實際數據往往存儲在各種文件中。本章將指導你如何使用NumPy來讀寫不同格式的文件,包括文本文件(如CSV、TXT)和二進製文件(如NPY、NPZ)。你將學習`loadtxt`、`savetxt`、`load`、`save`等常用函數,並理解它們在數據持久化和導入時的作用。 第十一章:數組的邏輯運算 除瞭數值運算,邏輯運算在數據篩選和條件判斷中也至關重要。本章將介紹NumPy中的邏輯運算符(`&`、`|`、`~`)以及邏輯函數(`any`、`all`)。你將學習如何組閤布爾數組,進行復雜的邏輯判斷,從而實現高效的數據過濾和條件分析。 第十二章:數組的排序與搜索 對數據進行排序和搜索是數據處理中的常見需求。本章將講解NumPy提供的排序函數,包括對整個數組排序、按軸排序以及選擇性排序。你還將學習如何使用`where`、`argmax`、`argmin`等函數來查找滿足特定條件的元素或其索引。 第四部分:綜閤應用與進階 第十三章:廣播(Broadcasting)機製 廣播是NumPy一個非常強大的特性,它允許不同形狀的數組之間進行數學運算。本章將詳細闡述廣播的工作原理,包括其規則和應用場景。通過具體的例子,你將理解廣播如何簡化代碼,提高運算效率。 第十四章:性能優化技巧 隨著數據量的增長,性能優化變得尤為重要。本章將分享一些NumPy的性能優化技巧,包括嚮量化操作的優勢、避免顯式循環、利用`np.dot`和`@`進行矩陣乘法,以及關於內存布局的討論。你還將接觸到一些基本的性能分析方法。 第十五章:結閤Pandas進行數據分析 雖然本書以NumPy為核心,但數據分析離不開Pandas。本章將簡要介紹Pandas庫,並演示如何將NumPy數組與Pandas的DataFrame和Series相互轉換。你將看到NumPy如何作為Pandas的數據底層,以及它們之間如何協同工作,為更復雜的數據分析任務打下基礎。 本書特點: 循序漸進的教學方法: 從基礎概念到高級應用,層層遞進,確保讀者能夠逐步掌握NumPy的知識體係。 豐富的代碼示例: 每一章節都配有大量可運行的代碼示例,讀者可以動手實踐,加深理解。 注重實戰: 強調NumPy在實際數據分析中的應用,幫助讀者解決現實問題。 清晰的講解風格: 語言通俗易懂,避免使用過於晦澀的術語,適閤初學者閱讀。 第2版更新: 相較於前一版,第2版通常會包含對NumPy新特性的介紹、代碼示例的更新以及內容的優化,以適應NumPy庫的發展和用戶的反饋。 目標讀者: 本書適閤以下讀者: 對Python編程有基本瞭解,希望入門數據分析的初學者。 需要學習NumPy庫以進行科學計算、數據處理和機器學習的Python開發者。 在校學生、研究人員以及任何需要處理數值數據的專業人士。 通過學習本書,讀者將能夠熟練運用NumPy庫,為後續更深入的數據科學學習和實踐打下堅實的基礎。

用戶評價

評分

剛拿到這本書,封麵設計就挺吸引人的,藍色調為主,給人一種冷靜、專業的科技感。書脊上的“圖靈程序設計叢書”幾個字也很有分量,感覺這套書質量應該都有保障。翻開目錄,看到“NumPy基礎”、“數組操作”、“嚮量化計算”、“文件輸入輸齣”這些章節,感覺內容安排得很紮實,循序漸進。我個人對Python數據分析一直很感興趣,但苦於基礎不夠紮實,尤其是NumPy這塊,總感覺學得不夠深入。我希望這本書能幫我構建起堅實的NumPy知識體係,讓我能夠更自信地處理各種數據相關的任務。比如,在實際工作中,經常需要讀取各種格式的數據文件,進行一些初步的處理,像數據清洗、格式轉換之類的。這本書的“文件輸入輸齣”章節,如果能講清楚如何高效地讀取和保存不同類型的文件,甚至提供一些處理大型文件的小技巧,那對我來說就太有價值瞭。我特彆期待它在數組操作和嚮量化計算方麵的講解,因為這部分直接關係到數據處理的效率,如果能理解透徹,以後做數據分析時就能事半功倍。這本書的排版和字體也令人滿意,閱讀起來不會感到疲勞,這一點對於長時間學習來說非常重要。總的來說,這本書給我的第一印象是專業、全麵,並且非常契閤我的學習需求。

評分

這本書的標題“NumPy學習指南(第2版)”就錶明它是一個循序漸進的學習過程,這正是我需要的。我不是那種追求“速成”的學習者,更希望能夠紮實地打好基礎。我特彆期待它在“數據結構與算法”方麵與NumPy的結閤。例如,如何利用NumPy的高效數組結構來優化某些算法的實現?書中是否會提供一些將傳統算法用NumPy進行改寫的案例?我對“科學計算”部分的內容尤其感興趣,比如如何使用NumPy來解決微積分、積分、微分方程等問題。當然,這可能需要一些數學基礎,但我相信這本書會以一種易於理解的方式來講解。此外,我希望這本書能夠強調“代碼質量”和“最佳實踐”。不僅僅是教會我如何寫齣能運行的代碼,更要教會我如何寫齣高效、可讀性強、易於維護的代碼。例如,在進行大數據集操作時,應該注意哪些陷阱?如何避免不必要的內存拷貝?這些細節上的指導,對於建立良好的編程習慣至關重要。這本書給我的感覺是“係統”和“嚴謹”,我期待它能夠幫助我建立起一套完整的NumPy思維模式。

評分

從封麵上“圖靈程序設計叢書”這幾個字,我就能感受到這本書的專業性和權威性。我一直對使用Python進行數據科學研究充滿熱情,而NumPy無疑是其中的核心。我希望這本書能夠超越那些泛泛而談的教程,提供更深入、更具洞察力的內容。我特彆關注它在“統計計算”和“隨機數生成”方麵的講解。在數據分析中,統計是非常重要的工具,而NumPy提供的函數能夠極大地簡化這些操作。我希望書中能夠包含一些關於如何利用NumPy進行假設檢驗、方差分析、迴歸分析等的示例。另外,對於“隨機數生成”部分,我希望能有更詳細的介紹,比如不同分布的隨機數生成方法,以及如何在模擬實驗中使用NumPy。這本書給我的感覺是“專業”和“實用”,我期待它能帶領我深入探索NumPy在數據科學領域的強大應用,讓我能夠更自信地駕馭復雜的數據分析任務。我非常希望這本書能提供一些前沿的應用案例,讓我看到NumPy在人工智能、機器學習等領域的潛力。

評分

這本書給我的感覺是,它更像是一位經驗豐富的老友,在你學習NumPy的旅途中,耐心地指引你,而不是一個高高在上的老師,隻傳遞乾巴巴的理論。我最看重的是它在實際應用中的指導性。光講概念是遠遠不夠的,我需要知道這些概念是如何在實際場景中應用的。比如,在進行數據分析時,我們經常會遇到需要對大量數據進行同類操作的情況,這時候NumPy的嚮量化就顯得尤為重要。我希望這本書不僅僅是解釋“什麼是嚮量化”,更能深入地展示“如何有效地使用嚮量化來解決實際問題”。它能否提供一些關於如何將循環操作轉化為嚮量化操作的實例?在處理圖像、音頻等非結構化數據時,NumPy是否也能提供一些實用的工具和方法?我非常期待它在“高級數組操作”這方麵的內容,比如多維數組的切片、索引、閤並、分割等等,這些都是進行復雜數據處理的基礎。我希望這本書能提供一些清晰的圖示和代碼示例,幫助我理解那些抽象的概念。另外,我還關心這本書對性能優化的講解,數據分析工作中,速度是至關重要的,如果能學到一些讓NumPy代碼跑得更快的技巧,那將是巨大的收獲。總之,這本書帶給我的感覺是“實用”和“深入”。

評分

剛拿到這本書,還沒來得及仔細研讀,但僅憑它在“圖靈程序設計叢書”中的位置,就足以讓我對其充滿期待。我一直覺得NumPy是Python數據分析的基石,但很多時候,大傢往往是“會用”但“不精”。我希望能在這本書裏找到那種“精通”的秘訣。我最感興趣的部分是它對於NumPy底層機製的講解。比如,NumPy的數組是如何在內存中存儲的?它的嚮量化操作是如何實現的?理解這些底層原理,不僅能幫助我們更好地使用NumPy,更能讓我們在遇到性能瓶頸時,知道問題的根源在哪裏。我特彆希望它能包含一些關於NumPy與C語言、Fortran等高性能計算語言接口的介紹,雖然這可能不是初學者的重點,但對於想要深入挖掘NumPy潛力的讀者來說,這無疑是錦上添花。另外,書中關於“數值計算”部分的講解,我希望能有更詳細的解釋,比如如何利用NumPy進行科學計算、統計分析,甚至是一些簡單的綫性代數運算。這本書給我的第一印象是“深度”和“廣度”並存,希望能真正帶領我走齣NumPy的“新手村”。

評分

正版,不錯,物流很快

評分

價廉物美,抓緊先看起來

評分

講得很全麵,透徹,點贊

評分

書很不錯,贊

評分

書的內容,簡單易懂,但是代碼都是寫兩遍的,明顯拼湊瞭頁數。

評分

書的內容很滿意

評分

我為什麼喜歡在京東買東西,因為上午買當天到,下午買明天就可以送到。我為什麼每個商品的評價都一樣,因為在京東買的東西太多太多瞭,導緻積纍瞭很多未評價的訂單,所以我統一用段話作為評價內容。京東購物這麼久,有買到很好的産品,也有買到比較坑的産品,如果我用這段話來評價,說明這款産品沒問題,至少90分以上,而比較垃圾的産品,我絕對不會偷懶到復製粘貼評價,我絕對會用心的差評,這樣其他消費者在購買的時候會作為參考,會影響該商品銷量,而商傢也會因此改進商品質量

評分

評分

正品,速度快

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有