Numpy笔记

这篇博客介绍了NumPy库的基础用法,包括创建矩阵、矩阵属性、矩阵生成、数学运算、矩阵操作和数组关联。内容涵盖矩阵的维数、形状、元素数,全1和全0矩阵的生成,以及随机数矩阵的创建。此外,还讲解了矩阵的求和、求最小值、切片、遍历元素等操作,以及矩阵的合并与分割。最后,涉及了矩阵的复制与关联性,以及一些实用函数,如argmin、mean、clip等。
摘要由CSDN通过智能技术生成
# -*- coding:utf-8 -*-
import numpy as np
#矩阵基础
array = np.array([[1,2,3],[2,3,4],[5,6,7]])
print('number of dim:', array.ndim)#维数,形状和元素数
print('shape:', array.shape)
print('number of dim:', array.size)
#生成矩阵
a = np.array([2,3,4], dtype=int)
a = np.ones((3, 4), dtype=int) #全1矩阵
a = np.empty((3, 4)) #全零矩阵
a = np.arange(10, 20, 2) #10-19 公差为2
a = np.arange(12).reshape((3, 4))
a = np.linspace(1, 10, 20) #第三个参数表示有多少个点,最终形成一维数列
a = np.random.random((2, 4)) #2*4的0-1的随机数
print("a为\n{}".format(a))
s = np.sum(a) #min(a),max(a)
s = np.sum(a, axis=1) # 表示行求和
s = np.min(a, axis=0) # 表示列求最小
print(s)

#c_dot = np.dot(a, a) #矩阵乘法

A = np.arange(3, 15)
print(A[3])#打印特定元素
A = A.reshape((3,4)) #三行四列
print("A为\n{}\n".format(A))
print("A[1][1]为{}".format(A[1][1])) #第一行第一列 print(A[1, 1])效果相同
print("A[1, 1:3]为{}".format(A[1, 1:3]))#切片
for row in A: #默认迭代为行
    print("行{}".format(row)) #打印行
for column in A.T:
    print("列{}".format(column)) #打印列
for item in A.flat: #将A转化为平的,即可打印每个元素
    print(item)
print(A.flatten()) #将其变为一行
b = np.argmin(A) #寻找索引
b = np.mean(A) #平均值 median中位数 cumsum费布拉切加和 nonezero非零元素索引 sort排序
b = np.clip(A, 5, 9) #将过小和过大的数进行替换

#array的合并
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B)) #垂直合并vertical stack
C = np.hstack((A,B))#左右合并horizontal stack
C = A[:,np.newaxis] #也是转置的一种表达
C = np.concatenate((A,B,B,A), axis=0)#多个array的横向合并
print(C)

#array的分割
A = np.arange(12).reshape((3,4))
B = np.split(A,2,axis=1) #A被分割成了两块
B = np.array_split(A, 3, axis=1)#不等宽分割
B = np.vsplit(A,3)#上下分割
B = np.hsplit(A,2)#左右分割

#array的关联
B = A
print(B)
A[0][0]= 11
print(B) #A与B进行完全关联
B = A.copy() #B与A不关联, 只拷贝数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值