python学习之numpy的学习

import numpy as np

array = np.array([[1, 2, 3],
                  [2, 3, 4]])
print (array)
print ('number of dim:', array.ndim)  # 求矩阵的维度
print ('shape:', array.shape)  # 求矩阵的形状
print ('size:', array.size)  # 求矩阵的大小

a = np.zeros((2, 3))  # 生成一个全为零的矩阵
print (a)

b = np.ones((3, 4))  # 生成一个全为一的矩阵
print (b)

c = np.empty((4, 5))  # 生成一个行为4,列为5的空矩阵
print (c)

d = np.arange(10, 20, 2)  # 生成一个10到20的步长为2的有序数列
print (d)

e = np.arange(12).reshape((3, 4))  # 生成一个三行四列的0到11的有序数列
print (e)

f = np.linspace(1, 10, 20)  # 生成一个20段一到十的有序数组
print (f)

g = np.array([1, 2, 3, 4])
h = np.arange(4)
print(g, h)
print(g - h)
print(g + h)
i = g + h
print (i ** 2)  # i的平方表达
print (10 * np.sin(i))  # 对i中的每个值进行sin的求值并且乘以10
print (i < 6)  # 判断i中的值是否小于6
print (i == 5)  # 判断i是否等于5

x = np.array([[1, 2, 3],
              [2, 3, 4],
              [3, 4, 5]])
y = np.arange(9).reshape((3, 3))
z = x * y  # 两个矩阵中的每个元素对应相乘
z_dot = np.dot(x, y)  # 进行线性代数中的矩阵乘法(调用了dot()函数)
print (z)
print (z_dot)
c_dot_2 = x.dot(y)  # 跟np.dot(x,y)计算结果相同
print (c_dot_2)

q = np.random.random((2, 4))
print (q)
print (np.sum(q))
print (np.max(q))
print (np.min(q))
print (np.sum(q, axis=1))  # 对矩阵中的每一行进行求和
print (np.max(q, axis=1))  # 对矩阵中的每一行选出最大值
print (np.min(q, axis=0))  # 对矩阵中每一列选出最小值

A =np.arange(14, 2, -1).reshape((3, 4))
print (A)
print (np.argmax(A))  # 对矩阵中最大值进行索引
print (np.argmin(A))  # 对矩阵中的最小值进行索引
print (np.mean(A))  # 对矩阵中的所有元素求平均值
print (np.median(A))  # 对矩阵中的所有元素求中位数
print (np.cumsum(A))  # 依次对矩阵中的每一位元素进行相加代替原来的元素(累加)
print (np.diff(A))  # 依次对矩阵中的每一位元素进行相减代替原来的元素(累减)
print (np.nonzero(A))  # 矩阵中非零元素所在的位置
print (np.sort(A))  # 对矩阵中的每一行进行排序
print (np.transpose(A))  # 对矩阵进行转置
print (A.T)  # 结果跟np.transpose(A)一样
print (A.T.dot(A))  # 转置矩阵和矩阵相乘
print (np.clip(A, 5, 9))  # 让矩阵中的所有大于9的元素都等于9,所有小于5的元素都等于5,中间的元素都不变
# 在矩阵运算的过程中如果要指定是对于行还是对于列进行计算可以使用axis=0或者axis=来决定,如果对于行就使axis=1,如果对于列则使axis=0


B = np.arange(3, 15).reshape((3,4))
print (B)
print (B[2])  # 输出第三行的所有元素
print (B[2][2])  # 输出相应的位置的元素
print (B[:, 1])  # 输出第二列的所有元素
print (B[1, 1:3])  # 输出第二行一到三的元素
for column in B.T:  # 将矩阵按行输出
    print (column)
print(B.flatten())   # 把矩阵B变为一个序列
for item in B.flat:
    print(item)

# numpy array合并
C = np.array([1, 1, 1])
D = np.array([2, 2, 2])
E = np.vstack((C, D))  # 将序列上下合并
F = np.hstack((C, D))  # 将序列左右合并
print (E)
print (F)
print (C[:, np.newaxis])
print (C[np.newaxis, :], C.shape)
print (C)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值