numpy通用函数

179 阅读1分钟

2.学习+练习

import numpy as np

# 创建一维数组
ar1 = np.arange(10)
# 创建二维数组
ar2 = np.zeros((2, 5))
print(ar1)
print(ar2)

# 转置
# 一维数组转置不变  二维数组会变化
print(ar1.T)
print(ar2.T)

# 更改数据的形状

# 下面三个都是生成一个新的数组
print(ar2.reshape(5, 2))
print(np.ones((10, 10)).reshape(5, 20))

print(np.reshape(np.arange(16), (2, 8)))
# 默认做出一个排序
print(np.resize(np.arange(5), (3, 4)))

# 数组复制
ar3 = np.arange(10)
ar4 = ar3
ar4[4] = 100
print(ar3, ar4)  # 都会变

# 不会修改
ar5 = ar3.copy()
ar5[2] = 10000
print(ar3, ar5)

# 数组类型转换 .astype()
ar = np.arange(10, dtype=float)
ar6 = ar.astype(np.int64)
print(ar6, ar6.dtype)

# 数组的堆叠 拆分
arr1 = np.arange(10)
arr2 = np.arange(5, 9)
new_arr = np.hstack((arr1, arr2))  # 横向连接
print(new_arr)

arr3 = np.array([[1], [2], [3]])
arr4 = np.array([['a'], ['b'], ['c']])
v_arr = np.vstack((arr3, arr4))
print(v_arr)
h_arr = np.hstack((arr3, arr4))
print(h_arr)

arr5 = np.array([[1], [2], [3]])
arr6 = np.array([['a'], ['b'], ['c']])
# 1 表示按照列横向连接  默认0  纵向连接
print(np.stack((arr5, arr6), axis=1))

# 数组拆分
# 横向拆分
arra = np.arange(16).reshape((4, 4))
print(arra)
print(np.hsplit(arra, 2))
# 纵向拆分
print(np.vsplit(arra, 2))

# 数组运算
a = np.arange(6).reshape((2, 3))
print(a + 10)
print(a - 10)
print(a * 10)
print(a / 10)

print(a.mean())  # 平均值
print(a.max())  # 最大值
print(a.min())  # 最小值
print(a.std())  # 标准差
print(a.var())  # 方差
print(a.sum(), np.sum(a, axis=0))  # 按列求和    1 为 按行求和
print(np.sort(np.array([1, 2, 3, 98, 9, 7])))  # 排序