array

Numpy 是科学计算基础库,提供大量科学计算功能,比如数据统计,随机数生成。其提供最核心

最核心类型魏多维数组类型(ndarray),支持大量的唯独数组与矩阵的运算,Numpy支持向量处理ndarray对象,提高程序运行速度

安装Numpy最简单的方法是使用pip工具 语法如下

pip install numpy

测试arange函数环境安装

import numpy as np
a=np.arang(10)
pringt(a)

课1.
"""多维数组的创建"""
import numpy as np
#使用array 函数创建一维数组
a=np.array([1,23,4])
print(a)
#使用array 创建二位数组
b=np.array([[123],[456],[789]])
print(b)
#array函数中dtype的使用
d=np.array([3,4,5],dtype=float)
print(d)

#array函数里面ndim的使用
e =np.array([5,6,7],ndmin=3)
print(e)

课2.
import numpy as np
#arrange创建数组
#range的用法       range(start,end,step)
a=list(range(1,10))
print(a)
b=list(range(10))
print(b)
c=list(range(1,10,3))
print(c)
#arange创建数组
a=np.arange(1,11)
print(a)
a=np.arange(1,11,2)
print(a)
#包头不包尾

课3.

import numpy as np
#使用random创建一维数组(0.0,1.0)
a=np.random.random(size=5)
print(a)
#创建二维数组
b=np.random.random(size=(3,4))
print(b)
#创建三维
c=np.random.random(size=(2,3,4))
print(c)

#随机整数
d=np.random.randint(6,size=10)
print(d)

#dtype 的使用
e=np.random.randint(10,size=5,dtype=np.int64)
print(e.dtype)

#创建正态分布
def randnTest():
    a=np.random.randn(4)  #二维就是 randn(4,3) 三维(2,4,3)
    print(a)   #(期望=0 方差=1)
b=randnTest()

#创建置顶期望和方差的正态分布
def normalTest():
    a=np.random.normal(size=5)
    print(a)     #默认的期望是loc=0.0   方差scale=1.0
    #指定期望和方差
    b=np.random.normal(loc=2.0,scale=3.0,size=(3,4))
    print(b)
c= normalTest()

课4.’

"""
常用的ndarray的一些属性
ndarray.ndmin  表示数组的维度
ndarray.shape   数组的维度,对于矩阵 n行m列
ndarray.size    数组元素的总个数
ndarray.dtype   ndarray对象的元素类型
ndarray.itemsize   ndarray对象中每个元素的大小,以字节为单位
ndarray。flags    ndarray 的内存对象
ndarray.real    ndarray元素的实部
ndarray.imag    ndarray元素的虚部
ndarray.data
"""

课5.

#其他方式创建数组
import numpy as np
def zero():
    a=np.zeros((2,3),dtype=int)
    print(a)
z=zero()
def ones():
    a=np.ones(10)
    print(a)
o=ones()
#empty
a=np.empty(3)
print(a)

#linespace函数创建一个等差数列
x=np.linspace(1,10,5)
print(x)
#endpoint设置为ture 或者false  一般情况下是默认为ture

#base 几次方  logspace
s=np.logspace(1,10,5,base=2)

课6

#二维数组的切片和索引
import numpy as np
a=np.arange(0,12)
a=a.reshape((4,3))
print(a[2,1])
#获取三行二列
print(np.array((a[2,1],a[3,0])))
#同时获取第三行第二列,第四行第一列
print(a[(2,3),(1,0)])

#坐标获取[行,列]
print(a[1,2])
#同时获得不同行不同列 获取第二行第三列 第三行第一列
print(a[(1,2),(2,0)])
#负索引的使用
print("最后一行")
print(a[-1])
print('列倒序')
print(a[::-1])
#行列都倒序
print(a[::-1,::-1])

课7.

#数组的复制
import numpy as np
a=np.arange(1,13).reshape((3,4))
print(a)
#对a数组进行切片处理,获取第一二行,第一二列
print(a[:2,:2])
sub_a=a
#对sub_a的第一行第一列修改
sub_a[0][0]=100
print(sub_a)
print(a)
#通过切片可以获取新数组,即使赋值给新的变量,但还是原数组的试图
#如果对数组中的切片进行修改,会影响原来的数组
#可以使用numpy中的copy的方法实现
sub_aa=np.copy(a[:2,:2])
sub_aa[0,0]=200
print(sub_aa)
print(a)

课8.

#改变数组的维度
import numpy as np
#通过reshape将一维数组修改为二维三维
a=np.arange(1,25)
print(a)
#将一维修改为二维
b=a.reshape((2,12))
print(b)
#将一维修改为三维
c=a.reshape(2,3,4)
print(c)
bb=np.reshape(a,(3,8))
print(bb)
#将多维数组修改为一维数组
a=bb.reshape(24)
print(a)
#行数改变数组的维度
# 通过 ravef  flatten
#ravel
a=bb.ravel()
print(a)
#flatter
a=bb.flatten()
print(a)

课9.

#数组的拼接
#通过hstack函数可以将两个或多个水平数组合成为一个
#使用vstack进行垂直拼接
#concatenate
#concatenate的使用
np.concatenate((a,b).axis)

课10.

#数组的拼接
#通过hstack函数可以将两个或多个水平数组合成为一个
#使用vstack进行垂直拼接
#concatenate
#concatenate的使用
np.concatenate((a,b).axis)

课11.

import numpy as np
#numpy提供了许多函数,可以对 数组进行加减乘除
a=np.arange(9).reshape(3,3)
b=np.array([10,10,10])
print("加法")
print(np.add(a,b))
print(a+b)
print("减法")
print(np.subtract(b,a))
print(b-a)
#nunmpy的方法 和直接加减运算有什么区别

#out 参数的使用
y=np.empty((3,3),dtype=int)
np.multiply(a,10,out=y)
print(y)
#三角函数的使用
a=np.array([0,30,60,90])
print(np.sin(a))
#四舍五入  向上取整 向下取整
#around
a=np.array([1.0,4.55,123,0.567])
print("around",np.around(a))
print("ceil",np.ceil(a))
print("floor",np.floor(a))
#聚合函数
'''np.sum() 求和
np.prod() 所有元素相乘
np.mean() 平均值
np.std()  标准差
np.var()  方差
np.median() 中数
np.power() 幂运算
np.aqrt() 开方
np.min() 最小值
np.max() 最大值
np.argmin() 最小值下标
np.argmax() 最大值下标
np.inf  无穷大
np.exp(10) 以e为低的指数
np.log(10)  对数
'''

#median
#一位数组的中位数
a=np.array([1,2,3,4])
print(np.median(a))
a=np.arange(1,13).reshape(3,4)
print(a)
print("垂直方向",np.median(a,axis=0))
print("水平放方向",np.median(a,axis=1))
a=np.array([1,2,3,4])
print(np.mean(a))
#二位数组也是指定轴求平均
a=np.arange(1,13).reshape(3,4)
print("axis,垂直方向",np.mean(a,axis=0))
print("axis,水平方向",np.mean(a,axis=1)) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值