Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

a few issues with the code #3

Open
DonMiller9294 opened this issue Aug 27, 2023 · 0 comments
Open

a few issues with the code #3

DonMiller9294 opened this issue Aug 27, 2023 · 0 comments

Comments

@DonMiller9294
Copy link

It seems like there are a few issues in the provided code. I will point them out and provide corrected code where needed.

  1. In the "Accessing/Changing specific elements, rows, columns, etc" section, there's an attempt to change elements of the array b using a list of lists. This will result in a ValueError. To update elements of a NumPy array, you should use the correct syntax.

  2. In the "Random Integer values" section, the function np.random.randint should be used with the low and high parameters to specify the range of random integers. The code provided is not syntactically correct.

Here's the corrected code with explanations:

import numpy as np

# The Basics
a = np.array([1, 2, 3], dtype='int32')
print(a)

b = np.array([[9.0, 8.0, 7.0], [6.0, 5.0, 4.0]])
print(b)

# Get Dimension
a.ndim

# Get Shape
b.shape

# Get Type
a.dtype

# Get Size
a.itemsize

# Get total size
a.nbytes

# Get number of elements
a.size

# Accessing/Changing specific elements, rows, columns, etc
a = np.array([[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14]])
print(a)

# Get a specific element [r, c]
a[1, 5]

# Get a specific row
a[0, :]

# Get a specific column
a[:, 2]

# Getting a little more fancy [startindex:endindex:stepsize]
a[0, 1:-1:2]

a[1, 5] = 20

# Corrected way to change elements of a NumPy array
a[:, 2] = 1  # Change the entire column to 1
print(a)

# Initializing Different Types of Arrays
np.zeros((2, 3))

np.ones((4, 2, 2), dtype='int32')

np.full((2, 2), 99)

np.random.rand(4, 2)

np.random.randint(-4, 8, size=(3, 3))

np.identity(5)

# Repeat an array
arr = np.array([[1, 2, 3]])
r1 = np.repeat(arr, 3, axis=0)
print(r1)

output = np.ones((5, 5))
print(output)

z = np.zeros((3, 3))
z[1, 1] = 9
output[1:-1, 1:-1] = z
print(output)

# Be careful when copying arrays!!!
a = np.array([1, 2, 3])
b = a.copy()
b[0] = 100
print(a)

# Mathematics
a = np.array([1, 2, 3, 4])
print(a)

a + 2

a - 2

a * 2

a / 2

b = np.array([1, 0, 1, 0])
a + b

a ** 2

np.cos(a)

# Linear Algebra
a = np.ones((2, 3))
print(a)

b = np.full((3, 2), 2)
print(b)

np.matmul(a, b)

# Statistics
stats = np.array([[1, 2, 3], [4, 5, 6]])
print(stats)

np.min(stats)

np.max(stats, axis=1)

np.sum(stats, axis=0)

I've corrected the issues in the code related to updating elements in the array and the usage of np.random.randint. The corrected code should work as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant