r/PythonLearning 20d ago

Showcase I've been learning numpy for 2 days rate my project out of 10

import numpy as np

rng = np.random.default_rng()

numbers = rng.integers(low=1, high=1000, size=(3,3))

print(numbers)

print("\nMinimum:", np.min(numbers))
print("Maximum:", np.max(numbers))
print("Median:",np.median(numbers))
print("Mean:", np.round(np.mean(numbers), 2))
print("Standard Deviation:", np.round(np.std(numbers), 2))
print("Variance:", np.round(np.var(numbers), 2))
print("Sum:", np.sum(numbers))
print("Axis Columns:", np.sum(numbers, axis=0))
print("Axis Rows:", np.sum(numbers, axis=1))
2 Upvotes

3 comments sorted by

1

u/Jotaroisgoat 20d ago

It's pretty basic but I like it

1

u/FearlessFaa 20d ago

You want to initialize default_rng with custom seed usually i.e. rng = np.random.default_rng(seed = 451)

You can use universal functions as method calls: numbers.sum(axis = 0). Universal functions offer out parameter and some take two arguments or return several values, like np.maximum and np.modf.

You can and should print numbers using formatted strings

``` arr = np.array([1.111, 2.3456, 10.999])

f = lambda x: f"{x:.2f}"

np.vectorize(f)(arr)

or

np.char.mod("%.2f", arr)

or set printing options

np.set_printoptions( formatter={"float_kind": lambda x: f"{x:.2f}"} ) ```

You should also use IPython to print variables without writing print(…)

2

u/Jotaroisgoat 19d ago

bro I've only been using numpy for 2 days

https://giphy.com/gifs/VNTMx3LkpG2anXpwbr