Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Numpy Beginner's Guide (Update)
Numpy Beginner's Guide (Update)

Numpy Beginner's Guide (Update): Build efficient, high-speed programs using the high-performance NumPy mathematical library

eBook
€26.98 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Numpy Beginner's Guide (Update)

Chapter 1. NumPy Quick Start

Let's get started. We will install NumPy and related software on different operating systems and have a look at some simple code that uses NumPy. This chapter briefly introduces the IPython interactive shell. SciPy is closely related to NumPy, so you will see the SciPy name appearing here and there. At the end of this chapter, you will find pointers on how to find additional information online if you get stuck or are uncertain about the best way to solve problems.

In this chapter, you will cover the following topics:

  • Install Python, SciPy, matplotlib, IPython, and NumPy on Windows, Linux, and Macintosh
  • Do a short refresher of Python
  • Write simple NumPy code
  • Get to know IPython
  • Browse online documentation and resources

Python

NumPy is based on Python, so you need to have Python installed. On some operating systems, Python is already installed. However, you need to check whether the Python version corresponds with the NumPy version you want to install. There are many implementations of Python, including commercial implementations and distributions. In this book, we focus on the standard CPython implementation, which is guaranteed to be compatible with NumPy.

Time for action – installing Python on different operating systems

NumPy has binary installers for Windows, various Linux distributions, and Mac OS X at http://sourceforge.net/projects/numpy/files/. There is also a source distribution, if you prefer that. You need to have Python 2.4.x or above installed on your system. We will go through the various steps required to install Python on the following operating systems:

  • Debian and Ubuntu: Python might already be installed on Debian and Ubuntu, but the development headers are usually not. On Debian and Ubuntu, install the python and python-dev packages with the following commands:
    $ [sudo] apt-get install python
    $ [sudo] apt-get install python-dev
    
  • Windows: The Windows Python installer is available at https://www.python.org/downloads/. On this website, we can also find installers for Mac OS X and source archives for Linux, UNIX, and Mac OS X.
  • Mac: Python comes preinstalled on Mac OS X. We can also get Python through MacPorts, Fink, Homebrew, or similar projects.

    Install, for instance, the Python 2.7 port by running the following command:

    $ [sudo] port install python27
    

    Linear Algebra PACKage (LAPACK) does not need to be present but, if it is, NumPy will detect it and use it during the installation phase. It is recommended that you install LAPACK for serious numerical analysis as it has useful numerical linear algebra functionality.

What just happened?

We installed Python on Debian, Ubuntu, Windows, and the Mac OS X.

Note

You can download the example code files for all the Packt books you have purchased from your account at https://www.packtpub.com/. If you purchased this book elsewhere, you can visit https://www.packtpub.com/books/content/support and register to have the files e-mailed directly to you.

The Python help system

Before we start the NumPy introduction, let's take a brief tour of the Python help system, in case you have forgotten how it works or are not very familiar with it. The Python help system allows you to look up documentation from the interactive Python shell. A shell is an interactive program, which accepts commands and executes them for you.

Time for action – using the Python help system

Depending on your operating system, you can access the Python shell with special applications, usually a terminal of some sort.

  1. In such a terminal, type the following command to start a Python shell:
    $ python
    
  2. You will get a short message with the Python version and other information and the following prompt:
    >>>
    

    Type the following in the prompt:

    >>> help()
    

    Another message appears and the prompt changes as follows:

    help>
    
  3. If you type, for instance, keywords as the message says, you get a list of keywords. The topics command gives a list of topics. If you type any of the topic names (such as LISTS) in the prompt, you get additional information about the topic. Typing q quits the information screen. Pressing Ctrl + D together returns you to the normal Python prompt:
    >>>
    

    Pressing Ctrl + D together again ends the Python shell session.

What just happened?

We learned about the Python interactive shell and the Python help system.

Basic arithmetic and variable assignment

In the Time for action – using the Python help system section, we used the Python shell to look up documentation. We can also use Python as a calculator. By the way, this is just a refresher, so if you are completely new to Python, I recommend taking some time to learn the basics. If you put your mind to it, learning basic Python should not take you more than a couple of weeks.

Time for action – using Python as a calculator

We can use Python as a calculator as follows:

  1. In a Python shell, add 2 and 2 as follows:
    >>> 2 + 2
    4
    
  2. Multiply 2 and 2 as follows:
    >>> 2 * 2
    4
    
  3. Divide 2 and 2 as follows:
    >>> 2/2
    1
    
  4. If you have programmed before, you probably know that dividing is a bit tricky since there are different types of dividing. For a calculator, the result is usually adequate, but the following division may not be what you were expecting:
    >>> 3/2
    1
    

    We will discuss what this result is about in several later chapters of this book. Take the cube of 2 as follows:

    >>> 2 ** 3
    8
    

What just happened?

We used the Python shell as a calculator and performed addition, multiplication, division, and exponentiation.

Time for action – assigning values to variables

Assigning values to variables in Python works in a similar way to most programming languages.

  1. For instance, assign the value of 2 to a variable named var as follows:
    >>> var = 2
    >>> var
    2
    
  2. We defined the variable and assigned it a value. In this Python code, the type of the variable is not fixed. We can make the variable in to a list, which is a built-in Python type corresponding to an ordered sequence of values. Assign a list to var as follows:
    >>> var = [2, 'spam', 'eggs']
    >>> var
    [2, 'spam', 'eggs']
    

    We can assign a new value to a list item using its index number (counting starts from 0). Assign a new value to the first list element:

    >>> var
    ['ham', 'spam', 'eggs']
    
  3. We can also swap values easily. Define two variables and swap their values:
    >>> a = 1
    >>> b = 2
    >>> a, b = b, a
    >>> a
    2
    >>> b
    1
    

What just happened?

We assigned values to variables and Python list items. This section is by no means exhaustive; therefore, if you are struggling, please read Appendix B, Additional Online Resources, to find recommended Python tutorials.

The print() function

If you haven't programmed in Python for a while or are a Python novice, you may be confused about the Python 2 versus Python 3 discussions. In a nutshell, the latest version Python 3 is not backward compatible with the older Python 2 because the Python development team felt that some issues were fundamental and therefore warranted a radical change. The Python team has committed to maintain Python 2 until 2020. This may be problematic for the people who still depend on Python 2 in some way. The consequence for the print() function is that we have two types of syntax.

Time for action – printing with the print() function

We can print using the print() function as follows:

  1. The old syntax is as follows:
    >>> print 'Hello'
    Hello
    
  2. The new Python 3 syntax is as follows:
    >>> print('Hello')
    Hello
    

    The parentheses are now mandatory in Python 3. In this book, I try to use the new syntax as much as possible; however, I use Python 2 to be on the safe side. To enforce the syntax, each Python 2 script with print() calls in this book starts with:

    >>> from __future__ import print_function
    
  3. Try to use the old syntax to get the following error message:
    >>> print 'Hello'
      File "<stdin>", line 1
        print 'Hello'
                    ^
    SyntaxError: invalid syntax
    
  4. To print a newline, use the following syntax:
    >>> print()
    
  5. To print multiple items, separate them with commas:
    >>> print(2, 'ham', 'egg')
    2 ham egg
    
  6. By default, Python separates the printed values with spaces and prints output to the screen. You can customize these settings. Read more about this function by typing the following command:
    >>> help(print)
    

    You can exit again by typing q.

What just happened?

We learned about the print() function and its relation to Python 2 and Python 3.

Code comments

Commenting code is a best practice with the goal of making code clearer for yourself and other coders (see https://google-styleguide.googlecode.com/svn/trunk/pyguide.html?showone=Comments#Comments). Usually, companies and other organizations have policies regarding code comment such as comment templates. In this book, I did not comment the code in such a fashion for brevity and because the text in the book should clarify the code.

Time for action – commenting code

The most basic comment starts with a hash sign and continues until the end of the line:

  1. Comment code with this type of comment as follows:
    >>> # Comment from hash to end of line
    
  2. However, if the hash sign is between single or double quotes, then we have a string, which is an ordered sequence of characters:
    >>> astring = '# This is not a comment'
    >>> astring
    '# This is not a comment'
    
  3. We can also comment multiple lines as a block. This is useful if you want to write a more detailed description of the code. Comment multiple lines as follows:
    """
     Chapter 1 of NumPy Beginners Guide.
     Another line of comment.
    """
    

    We refer to this type of comment as triple-quoted for obvious reasons. It also is used to test code. You can read about testing in Chapter 8, Assuring Quality with Testing.

The if statement

The if statement in Python has a bit different syntax to other languages, such as C++ and Java. The most important difference is that indentation matters, which I hope you are aware of.

Time for action – deciding with the if statement

We can use the if statement in the following ways:

  1. Check whether a number is negative as follows:
    >>> if 42 < 0:
    ...     print('Negative')
    ... else:
    ...     print('Not negative')
    ...
    Not negative
    

    In the preceding example, Python decided that 42 is not negative. The else clause is optional. The comparison operators are equivalent to the ones in C++, Java, and similar languages.

  2. Python also has a chained branching logic compound statement for multiple tests similar to the switch statement in C++, Java, and other programming languages. Decide whether a number is negative, 0, or positive as follows:
    >>> a = -42
    >>> if a < 0:
    ...     print('Negative')
    ... elif a == 0:
    ...     print('Zero')
    ... else:
    ...     print('Positive')
    ...
    Negative
    

    This time, Python decided that 42 is negative.

What just happened?

We learned how to do branching logic in Python.

The for loop

Python has a for statement with the same purpose as the equivalent construct in C++, Pascal, Java, and other languages. However, the mechanism of looping is a bit different.

Time for action – repeating instructions with loops

We can use the for loop in the following ways:

  1. Loop over an ordered sequence, such as a list, and print each item as follows:
    >>> food = ['ham', 'egg', 'spam']
    >>> for snack in food:
    ...     print(snack)
    ...
    ham
    egg
    spam
    
  2. And remember that, as always, indentation matters in Python. We loop over a range of values with the built-in range() or xrange() functions. The latter function is slightly more efficient in certain cases. Loop over the numbers 1-9 with a step of 2 as follows:
    >>> for i in range(1, 9, 2):
    ...     print(i)
    ...
    1
    3
    5
    7
    
  3. The start and step parameter of the range() function are optional with default values of 1. We can also prematurely end a loop. Loop over the numbers 0-9 and break out of the loop when you reach 3:
    >>> for i in range(9):
    ...     print(i)
    ...     if i == 3:
    ...     print('Three')
    ...     break
    ...
    0
    1
    2
    3
    Three
    
  4. The loop stopped at 3 and we did not print the higher numbers. Instead of leaving the loop, we can also get out of the current iteration. Print the numbers 0-4, skipping 3 as follows:
    >>> for i in range(5):
    ...     if i == 3:
    ...             print('Three')
    ...             continue
    ...     print(i)
    ...
    0
    1
    2
    Three
    4
    
  5. The last line in the loop was not executed when we reached 3 because of the continue statement. In Python, the for loop can have an else statement attached to it. Add an else clause as follows:
    >>> for i in range(5):
    ...     print(i)
    ... else:
    ...     print(i, 'in else clause')
    ...
    0
    1
    2
    3
    4
    (4, 'in else clause')
    
  6. Python executes the code in the else clause last. Python also has a while loop. I do not use it that much because the for loop is more useful in my opinion.

What just happened?

We learned how to repeat instructions in Python with loops. This section included the break and continue statements, which exit and continue looping.

Python functions

Functions are callable blocks of code. We call functions by the name we give them.

Time for action – defining functions

Let's define the following simple function:

  1. Print Hello and a given name in the following way:
    >>> def print_hello(name):
    ...     print('Hello ' + name)
    ...
    

    Call the function as follows:

    >>> print_hello('Ivan')
    Hello Ivan
    
  2. Some functions do not have arguments, or the arguments have default values. Give the function a default argument value as follows:
    >>> def print_hello(name='Ivan'):
    ...     print('Hello ' + name)
    ...
    >>> print_hello()
    Hello Ivan
    
  3. Usually, we want to return a value. Define a function, which doubles input values as follows:
    >>> def double(number):
    ...     return 2 * number
    ...
    >>> double(3)
    6
    

What just happened?

We learned how to define functions. Functions can have default argument values and return values.

Python modules

A file containing Python code is called a module. A module can import other modules, functions in other modules, and other parts of modules. The filenames of Python modules end with .py. The name of the module is the same as the filename minus the .py suffix.

Time for action – importing modules

Importing modules can be done in the following manner:

  1. If the filename is, for instance, mymodule.py, import it as follows:
    >>> import mymodule
    
  2. The standard Python distribution has a math module. After importing it, list the functions and attributes in the module as follows:
    >>> import math
    >>> dir(math)
    ['__doc__', '__file__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
    
  3. Call the pow() function in the math module:
    >>> math.pow(2, 3)
    8.0
    

    Notice the dot in the syntax. We can also import a function directly and call it by its short name. Import and call the pow() function as follows:

    >>> from math import pow
    >>> pow(2, 3)
    8.0
    
  4. Python lets us define aliases for imported modules and functions. This is a good time to introduce the import conventions we are going to use for NumPy and a plotting library we will use a lot:
    import numpy as np
    import matplotlib.pyplot as plt

What just happened?

We learned about modules, importing modules, importing functions, calling functions in modules, and the import conventions of this book. This concludes the Python refresher.

NumPy on Windows

Installing NumPy on Windows is straightforward. You only need to download an installer, and a wizard will guide you through the installation steps.

Left arrow icon Right arrow icon

Description

This book is for the scientists, engineers, programmers, or analysts looking for a high-quality, open source mathematical library. Knowledge of Python is assumed. Also, some affinity, or at least interest, in mathematics and statistics is required. However, I have provided brief explanations and pointers to learning resources.

Who is this book for?

This book is for the scientists, engineers, programmers, or analysts looking for a high-quality, open source mathematical library. Knowledge of Python is assumed. Also, some affinity, or at least interest, in mathematics and statistics is required. However, I have provided brief explanations and pointers to learning resources.

What you will learn

  • Install NumPy, matplotlib, SciPy, and IPython on various operating systems
  • Use NumPy array objects to perform array operations
  • Familiarize yourself with commonly used NumPy functions
  • Use NumPy matrices for matrix algebra
  • Work with the NumPy modules to perform various algebraic operations
  • Test NumPy code with the numpy.testing module
  • Plot simple plots, subplots, histograms, and more with matplotlib

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 24, 2015
Length: 348 pages
Edition : 1st
Language : English
ISBN-13 : 9781785288838
Category :
Languages :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Jun 24, 2015
Length: 348 pages
Edition : 1st
Language : English
ISBN-13 : 9781785288838
Category :
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 94.97
Mastering Matplotlib
€32.99
Numpy Beginner's Guide (Update)
€36.99
Learning SciPy for Numerical and Scientific Computing Second Edition
€24.99
Total 94.97 Stars icon

Table of Contents

15 Chapters
1. NumPy Quick Start Chevron down icon Chevron up icon
2. Beginning with NumPy Fundamentals Chevron down icon Chevron up icon
3. Getting Familiar with Commonly Used Functions Chevron down icon Chevron up icon
4. Convenience Functions for Your Convenience Chevron down icon Chevron up icon
5. Working with Matrices and ufuncs Chevron down icon Chevron up icon
6. Moving Further with NumPy Modules Chevron down icon Chevron up icon
7. Peeking into Special Routines Chevron down icon Chevron up icon
8. Assuring Quality with Testing Chevron down icon Chevron up icon
9. Plotting with matplotlib Chevron down icon Chevron up icon
10. When NumPy Is Not Enough – SciPy and Beyond Chevron down icon Chevron up icon
11. Playing with Pygame Chevron down icon Chevron up icon
A. Pop Quiz Answers Chevron down icon Chevron up icon
B. Additional Online Resources Chevron down icon Chevron up icon
C. NumPy Functions' References Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
(1 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 100%
1 star 0%
Alexander Sagel Jan 10, 2017
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
it's a helpful guide. however, the code examples are inconsistent in style and overflowing with mistakes. requires a thorough revision
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.