numpy基础
Posted 未来可期-2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy基础相关的知识,希望对你有一定的参考价值。
文章目录
import numpy as np
1. 创建array
# 创建array,dtype格式
array = np.array(
[[1, 2, 3],
[2, 3, 4]], dtype=np.float)
# shape
print(array.shape)
# 维数
print(array.ndim)
# 总数量
print(array.size)
(2, 3)
2
6
a = np.zeros(shape=(3, 4), dtype=np.int)
a = np.ones(shape=(3, 4), dtype=np.float)
a = np.empty(shape=(3, 4), dtype=np.float)
a = np.arange(12).reshape((3, 4))
a = np.linspace(1, 10, 20).reshape((10, 2))
2. 基础运算
a = np.array([10, 20, 30, 40])
b = np.arange(1, 5)
# 逐个相加减乘除
c = a-b
d = a+b
e = a*b
f = a/b
g = np.sin(a)
h = b < 3
a = np.array([[1, 1], [0, 1]])
b = np.arange(4).reshape((2, 2))
# 将b展平
b.flatten()
print("a=", a)
print("b=", b)
# 逐个相乘
print("a*b=", a*b)
# 矩阵相乘
print("a.dot(b)=", np.dot(a, b))
a = np.random.random(size=(2, 4))
print(a)
print(np.sum(a))
# shape=(2,4) axis=1,按行计算;axis=0,按列计算
print(np.sum(a, axis=1))
print(np.sum(a, axis=0))
A = np.arange(2, 14).reshape((3, 4))
print(np.mean(A))
print(np.median(A))
# 最大最小值的索引
print(np.argmin(A))
print(np.argmax(A))
# 累加
print(np.cumsum(A))
# 累乘
print(np.cumprod(A))
# 累差
print(np.diff(A))
# 非零
print(np.nonzero(A))
# 逐行排序
print(np.sort(A))
# 转置,不改变自身
print(A.T)
# 行过滤,使矩阵值处在5~9之间
np.clip(A, 5, 9)
4.563955476029803
[1.61726126 2.94669422]
[0.75731657 1.11981756 1.38881768 1.29800366]
3. 索引
A = np.arange(3, 15).reshape((3, 4))
# 两种表达方式相同
print(A[1, 1])
print(A[1][1])
# 切片,第一行全部内容
print(A[1, :])
# 迭代每一行
for row in A:
print(row)
# 迭代每一列
for column in A.T:
print(column)
# 将矩阵展平并迭代
for item in A.flat:
print(item)
8
8
[ 7 8 9 10]
4. array合并
A=np.array([1,1,1])
B = np.array([2,2,2])
# vertical stack 按行合并
C=np.vstack((A,B))
# horizonal stack 按列合并
D=np.hstack((A,B))
# axis=1 按行合并,axis=0按列合并
E=np.concatenate((A.reshape((3,1)),B.reshape((3,1))),axis=1)
5. array分割
A=np.arange(12).reshape((3,4))
# 均等分割
np.split(A,2,axis=1)
np.split(A,3,axis=0)
# 不均等分割
np.array_split(A,2,axis=0)
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
6. copy和deepcopy
a=np.arange(4)
# 浅拷贝
b=a
b[0]=11
print(a,b,a is b)
# 深拷贝
b=np.copy(a)
以上是关于numpy基础的主要内容,如果未能解决你的问题,请参考以下文章