- Python High Performance(Second Edition)
- Gabriele Lanaro
- 225字
- 2021-07-09 21:01:57
Fast Array Operations with NumPy and Pandas
NumPy is the de facto standard for scientific computing in Python. It extends Python with a flexible multidimensional array that allows fast and concise mathematical calculations.
NumPy provides common data structures and algorithms designed to express complex mathematical operations using a concise syntax. The multidimensional array, numpy.ndarray, is internally based on C arrays. Apart from the performance benefits, this choice allows NumPy code to easily interface with the existing C and FORTRAN routines; NumPy is helpful in bridging the gap between Python and the legacy code written using those languages.
In this chapter, we will learn how to create and manipulate NumPy arrays. We will also explore the NumPy broadcasting feature used to rewrite complex mathematical expressions in an efficient and succinct manner.
Pandas is a tool that relies heavily on NumPy and provides additional data structures and algorithms targeted toward data analysis. We will introduce the main Pandas features and its usage. We will also learn how to achieve high performance from Pandas data structures and vectorized operations.
The topics covered in this chapter are as follows:
- Creating and manipulating NumPy arrays
- Mastering NumPy's broadcasting feature for fast and succinct vectorized operations
- Improving our particle simulator with NumPy
- Reaching optimal performance with numexpr
- Pandas fundamentals
- Database-style operations with Pandas
- Python概率統(tǒng)計(jì)
- C#高級(jí)編程(第10版) C# 6 & .NET Core 1.0 (.NET開(kāi)發(fā)經(jīng)典名著)
- SQL學(xué)習(xí)指南(第3版)
- 碼上行動(dòng):零基礎(chǔ)學(xué)會(huì)Python編程(ChatGPT版)
- Internet of Things with the Arduino Yún
- 飛槳PaddlePaddle深度學(xué)習(xí)實(shí)戰(zhàn)
- Python Data Structures and Algorithms
- 深入淺出Go語(yǔ)言編程
- Spring MVC+MyBatis開(kāi)發(fā)從入門到項(xiàng)目實(shí)踐(超值版)
- 大話Java:程序設(shè)計(jì)從入門到精通
- Python Programming for Arduino
- JavaWeb從入門到精通(視頻實(shí)戰(zhàn)版)
- Java網(wǎng)絡(luò)編程實(shí)用精解
- C++ Windows Programming
- Python輕松學(xué):爬蟲(chóng)、游戲與架站