File size: 4,851 Bytes
317e332
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import streamlit as st
import numpy as np

st.sidebar.title("NumPy Demo")

# Array creation routines
st.sidebar.header("Array creation routines")
st.sidebar.write("np.zeros(5):", np.zeros(5))
st.sidebar.write("np.ones((2, 3)):", np.ones((2, 3)))
st.sidebar.write("np.arange(0, 10, 2):", np.arange(0, 10, 2))
st.sidebar.write("np.linspace(0, 1, 5):", np.linspace(0, 1, 5))
st.sidebar.write("np.eye(3):", np.eye(3))

# Array manipulation routines
st.sidebar.header("Array manipulation routines")
arr = np.array([[1, 2], [3, 4]])
st.sidebar.write("arr.flatten():", arr.flatten())
st.sidebar.write("np.transpose(arr):", np.transpose(arr))
st.sidebar.write("np.rot90(arr):", np.rot90(arr))

# Binary operations
st.sidebar.header("Binary operations")
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
st.sidebar.write("np.add(x, y):", np.add(x, y))
st.sidebar.write("np.subtract(x, y):", np.subtract(x, y))
st.sidebar.write("np.multiply(x, y):", np.multiply(x, y))

# String operations
st.sidebar.header("String operations")
st.sidebar.write("np.char.add(['hello', 'world'], ['!', '?']):", np.char.add(['hello', 'world'], ['!', '?']))
st.sidebar.write("np.char.upper('numpy'):", np.char.upper('numpy'))
st.sidebar.write("np.char.replace('numpy', 'py', 'ython'):", np.char.replace('numpy', 'py', 'ython'))

# C-Types Foreign Function Interface (numpy.ctypeslib)
st.sidebar.header("C-Types Foreign Function Interface (numpy.ctypeslib)")
# Omitted for simplicity

# Datetime Support Functions
st.sidebar.header("Datetime Support Functions")
st.sidebar.write("np.datetime64('2023-02-21'):", np.datetime64('2023-02-21'))
st.sidebar.write("np.datetime64('2023-02-21 12:00:00'):", np.datetime64('2023-02-21 12:00:00'))

# Data type routines
st.sidebar.header("Data type routines")
st.sidebar.write("np.dtype('float64'):", np.dtype('float64'))
st.sidebar.write("np.issubdtype(np.float64, np.number):", np.issubdtype(np.float64, np.number))

# Optionally SciPy-accelerated routines (numpy.dual)
st.sidebar.header("Optionally SciPy-accelerated routines (numpy.dual)")
# Omitted for simplicity

# Mathematical functions with automatic domain
st.sidebar.header("Mathematical functions with automatic domain")
st.sidebar.write("np.sqrt(-1):", np.sqrt(-1))
st.sidebar.write("np.log(0):", np.log(0))

# Functional programming
st.sidebar.header("Functional programming")
st.sidebar.write("np.vectorize(np.square)([1, 2, 3]):", np.vectorize(np.square)([1, 2, 3]))

# NumPy-specific help functions
st.sidebar.header("NumPy-specific help functions")
st.sidebar.write("np.info(np.add):", np.info(np.add))

# Linear algebra (numpy.linalg)
st.sidebar.header("Linear algebra (numpy.linalg)")
mat = np.array([[1, 2], [3, 4]])
st.sidebar.write("np.linalg.inv(mat):", np.linalg.inv(mat))
st.sidebar.write("np.linalg.eig(mat):", np.linalg.eig(mat))

# Logic functions
st.sidebar.header("Logic functions")
x = np.array([1, 2, 3])
y = np.array([2, 2, 2])
st.sidebar.write("np.logical_and(x > 1, y < 3):", np.logical_and(x > 1, y < 3))
st.sidebar.write("np.logical_or(x > 2, y < 2):", np.logical_or(x > 2, y < 2))
st.sidebar.write("np.logical_not(x > 2):", np.logical_not(x > 2))

# Mathematical functions
st.sidebar.header("Mathematical functions")
x = np.array([0, 1, 2])
st.sidebar.write("np.exp(x):", np.exp(x))
st.sidebar.write("np.sin(x):", np.sin(x))
st.sidebar.write("np.arctan(x):", np.arctan(x))

# Miscellaneous routines
st.sidebar.header("Miscellaneous routines")
st.sidebar.write("np.percentile([1, 2, 3, 4, 5], 50):", np.percentile([1, 2, 3, 4, 5], 50))
st.sidebar.write("np.histogram([1, 2, 1], bins=[0, 1, 2, 3]):", np.histogram([1, 2, 1], bins=[0, 1, 2, 3]))

# Polynomials
st.sidebar.header("Polynomials")
st.sidebar.write("np.poly1d([1, 2, 3])(4):", np.poly1d([1, 2, 3])(4))

# Random sampling (numpy.random)
st.sidebar.header("Random sampling (numpy.random)")
st.sidebar.write("np.random.rand(3, 2):", np.random.rand(3, 2))
st.sidebar.write("np.random.normal(size=(2, 2)):", np.random.normal(size=(2, 2)))

#Set routines
st.sidebar.header("Set routines")
x = np.array([1, 2, 3, 4])
y = np.array([3, 4, 5, 6])
st.sidebar.write("np.intersect1d(x, y):", np.intersect1d(x, y))
st.sidebar.write("np.union1d(x, y):", np.union1d(x, y))
st.sidebar.write("np.setdiff1d(x, y):", np.setdiff1d(x, y))

#Sorting, searching, and counting
st.sidebar.header("Sorting, searching, and counting")
x = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
st.sidebar.write("np.sort(x):", np.sort(x))
st.sidebar.write("np.argsort(x):", np.argsort(x))
st.sidebar.write("np.where(x == 5):", np.where(x == 5))
st.sidebar.write("np.count_nonzero(x > 3):", np.count_nonzero(x > 3))

# Statistics
st.sidebar.header("Statistics")
x = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
st.sidebar.write("np.mean(x):", np.mean(x))
st.sidebar.write("np.std(x):", np.std(x))
st.sidebar.write("np.median(x):", np.median(x))