Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Array creation (array, arange, linspace) in Data Analysis Python

Choose your learning style10 modes available
Introduction

We create arrays to store and work with many numbers together easily. Arrays help us do math and analyze data faster.

When you want to store a list of numbers to analyze or plot.
When you need a sequence of numbers with equal steps between them.
When you want a specific number of points evenly spaced between two values.
When you want to convert a list or tuple into an array for faster calculations.
When preparing data for machine learning or statistics.
Syntax
Data Analysis Python
import numpy as np

# Create an array from a list
array = np.array([1, 2, 3, 4])

# Create an array with numbers from start to stop (exclusive) with step size
arange_array = np.arange(start, stop, step)

# Create an array with a specific number of points between start and stop (inclusive)
linspace_array = np.linspace(start, stop, num=num_points)

np.array converts a list or tuple into an array.

np.arange creates numbers with a fixed step size but excludes the stop value.

Examples
Creates an empty array when the input list is empty.
Data Analysis Python
import numpy as np

# Empty array from empty list
empty_array = np.array([])
print(empty_array)
Array with only one number inside.
Data Analysis Python
import numpy as np

# Array with one element
single_element_array = np.array([10])
print(single_element_array)
Numbers from 0 up to but not including 5, stepping by 1.
Data Analysis Python
import numpy as np

# arange from 0 to 5 with step 1
range_array = np.arange(0, 5, 1)
print(range_array)
5 numbers evenly spaced between 0 and 1, including both ends.
Data Analysis Python
import numpy as np

# linspace from 0 to 1 with 5 points
linspace_array = np.linspace(0, 1, 5)
print(linspace_array)
Sample Program

This program shows how to create arrays using three methods: from a list, with fixed steps, and with a fixed number of points.

Data Analysis Python
import numpy as np

# Create an array from a list
numbers_list = [2, 4, 6, 8]
numbers_array = np.array(numbers_list)
print("Array from list:", numbers_array)

# Create an array using arange from 1 to 10 with step 2
arange_array = np.arange(1, 10, 2)
print("Arange array:", arange_array)

# Create an array using linspace from 0 to 5 with 6 points
linspace_array = np.linspace(0, 5, 6)
print("Linspace array:", linspace_array)
OutputSuccess
Important Notes

Time complexity: Creating arrays is fast and usually O(n), where n is the number of elements.

Space complexity: Arrays use memory proportional to the number of elements stored.

Common mistake: Using np.arange with floating point steps can cause unexpected results due to rounding errors. Use np.linspace for precise spacing.

Use np.array to convert existing data. Use np.arange when you want a range with a fixed step size. Use np.linspace when you want a fixed number of points between two values.

Summary

Arrays store many numbers together for easy math and analysis.

np.array converts lists to arrays.

np.arange creates sequences with fixed steps, excluding the stop value.

np.linspace creates sequences with a fixed number of points including start and stop.

Practice

(1/5)
1. What does the function np.arange(1, 5) produce in Python's NumPy?
easy
A. An array with values [1, 2, 3, 4, 5]
B. An array with values [1, 3, 5]
C. An array with values [0, 1, 2, 3, 4]
D. An array with values [1, 2, 3, 4]

Solution

  1. Step 1: Understand np.arange parameters

    np.arange(start, stop) creates values from start up to but not including stop.
  2. Step 2: Apply to np.arange(1, 5)

    Values start at 1 and go up to 4 (5 is excluded), so the array is [1, 2, 3, 4].
  3. Final Answer:

    An array with values [1, 2, 3, 4] -> Option D
  4. Quick Check:

    arange excludes stop = [1, 2, 3, 4] [OK]
Hint: Remember arange excludes the stop value [OK]
Common Mistakes:
  • Including the stop value in the output
  • Starting from 0 instead of the given start
  • Confusing arange with linspace
2. Which of the following is the correct syntax to create a NumPy array from the list [10, 20, 30]?
easy
A. np.array([10, 20, 30])
B. np.linspace(10, 20, 30)
C. np.arange([10, 20, 30])
D. np.array(10, 20, 30)

Solution

  1. Step 1: Recall np.array syntax

    np.array() takes a single list or iterable as input to create an array.
  2. Step 2: Check each option

    np.array([10, 20, 30]) correctly passes a list inside brackets. np.array(10, 20, 30) passes separate arguments, which is invalid. np.arange([10, 20, 30]) uses arange incorrectly. np.linspace(10, 20, 30) uses linspace which is for ranges, not lists.
  3. Final Answer:

    np.array([10, 20, 30]) -> Option A
  4. Quick Check:

    np.array needs a list inside brackets [OK]
Hint: Use brackets [] inside np.array to pass a list [OK]
Common Mistakes:
  • Passing multiple arguments instead of a list
  • Using arange or linspace to convert lists
  • Forgetting brackets around the list
3. What is the output of the following code?
import numpy as np
arr = np.linspace(0, 1, 5)
print(arr)
medium
A. [0. 0.5 1. ]
B. [0. 0.2 0.4 0.6 0.8]
C. [0. 0.25 0.5 0.75 1. ]
D. [0. 0.1 0.2 0.3 0.4]

Solution

  1. Step 1: Understand np.linspace parameters

    np.linspace(start, stop, num) creates num evenly spaced points from start to stop inclusive.
  2. Step 2: Apply to np.linspace(0, 1, 5)

    It creates 5 points between 0 and 1: 0.0, 0.25, 0.5, 0.75, 1.0.
  3. Final Answer:

    [0. 0.25 0.5 0.75 1. ] -> Option C
  4. Quick Check:

    linspace includes stop and divides evenly [OK]
Hint: linspace includes stop and divides into equal parts [OK]
Common Mistakes:
  • Confusing linspace with arange step behavior
  • Expecting stop to be excluded
  • Wrong number of points generated
4. Identify the error in the following code snippet:
import numpy as np
arr = np.arange(0, 10, 3.5)
print(arr)
medium
A. arange does not accept float step values
B. The code runs correctly and prints [0. 3.5 7.]
C. arange requires integer start and stop values
D. Missing import statement for numpy

Solution

  1. Step 1: Check np.arange with float steps

    NumPy's arange supports float step values, so 3.5 is valid.
  2. Step 2: Predict output of np.arange(0, 10, 3.5)

    Values start at 0, then 3.5, then 7.0. Next would be 10.5 which exceeds stop 10, so stops.
  3. Final Answer:

    The code runs correctly and prints [0. 3.5 7.] -> Option B
  4. Quick Check:

    arange accepts float steps and excludes stop [OK]
Hint: arange allows float steps, output excludes stop [OK]
Common Mistakes:
  • Assuming arange only works with integers
  • Expecting stop value to be included
  • Forgetting to import numpy
5. You want to create an array of exactly 4 numbers starting at 2 and ending at 5, including both ends. Which code snippet correctly does this?
hard
A. np.linspace(2, 5, 4)
B. np.arange(2, 5, 1)
C. np.arange(2, 6, 2)
D. np.linspace(2, 5, 3)

Solution

  1. Step 1: Understand the requirement

    We need 4 numbers starting at 2 and ending at 5, including both ends.
  2. Step 2: Check np.arange options

    np.arange(2, 5, 1) creates [2, 3, 4], only 3 numbers and excludes 5. np.arange(2, 6, 2) creates [2, 4], wrong number of elements and values.
  3. Step 3: Check np.linspace options

    np.linspace(2, 5, 4) creates 4 evenly spaced numbers including 2 and 5: [2.0, 3.0, 4.0, 5.0]. np.linspace(2, 5, 3) creates only 3 numbers.
  4. Final Answer:

    np.linspace(2, 5, 4) -> Option A
  5. Quick Check:

    linspace fixes number of points including ends [OK]
Hint: Use linspace to fix number of points including start and stop [OK]
Common Mistakes:
  • Using arange which excludes stop and depends on step size
  • Choosing wrong number of points in linspace
  • Confusing arange and linspace behavior
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard