import pandas
import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array)
print("number of dim:", array.ndim)
print("shape: ", array.shape)
print("size: ", array.size)
a = np.array([1, 23, 4], dtype=np.float64)
print(a.dtype)
print('----------------------------------')
b = np.array([[3, 4, 2],
[9, 3, 4]])
c = np.zeros((4, 5))
print(c)
print('----------------------------------')
c = np.ones((4, 3))
print(c)
print('----------------------------------')
c = np.arange(1, 20, 2)
print(c)
print('----------------------------------')
c = np.arange(12).reshape((3, 4))
print(c)
print('----------------------------------')
c = np.linspace(0, 10, 8).reshape(4, 2)
print(c)
print('----------------------------------')
import numpy as np
a = np.array([10, 20, 30, 40])
b = np.arange(4)
print(a, b)
print('----------------------------------')
print(b < 3)
print('----------------------------------')
c = a - b
print(c)
print('----------------------------------')
c = 10 * np.sin(a)
print(c)
print('----------------------------------')
a = np.array([[2, 2],
[1, 1]])
b = np.arange(4).reshape((2, 2))
c = a * b
print(c)
print('----------------------------------')
c = np.dot(a, b)
# 或 a.dot(b)
print(c)
print('----------------------------------')
a = np.random.random((3, 4))
print(a)
print(np.min(a))
print(np.max(a))
print(np.sum(a))
# axis 参数为 1 表示行 0 表示列
# 针对 列 或者 行 求和 求最小值或者最大值
print('----------------------------------')
A = np.arange(2, 14).reshape((3, 4))
print(A)
print(np.argmin(A))
print(np.argmax(A))
print('----------------------------------')
print(np.mean(A))
print(np.average(A))
print('----------------------------------')
print(np.median(A))
print('----------------------------------')
print(np.cumsum(A))
print('----------------------------------')
print(np.diff(A))
print('----------------------------------')
print(np.nonzero(A))
A = np.arange(14, 2, -1).reshape((3, 4))
print(A)
print(np.sort(A)) # 逐行排序
print('----------------------------------')
print(np.transpose(A))
print(A.T)
print('----------------------------------')
A = np.arange(1, 10).reshape(3, 3)
print(A)
print(A[2][1])
print(A[2, 1])
print(A[:, 1])
print(A[2, :])
print('----------------------------------')
for row in A:
print(row)
print('----------------------------------')
for column in A.T:
print(column)
print('----------------------------------')
print(A.flatten())
for item in A.flat:
print(item)
print('----------------------------------')
import numpy as np
A = np.array([1, 1, 1])
B = np.array([2, 2, 2])
C = np.vstack((A, B))
D = np.hstack((A, B))
print(C)
print(A.shape, C.shape)
print(D)
print(D.shape)
print(A[:, np.newaxis])