numpy数组

1.基本数组的创立

import numpy as np
a0=np.array([1,2,3,4,5])   #将python列表转成数组
print('a0=',a0)
a1=np.array([1,2,3,4,5],dtype=np.float64)   #将python列表转成一维浮点型数组
print('a1=',a1)
a2=np.array(range(5))     #创建一个具有5个元素的一维整型数组
print('a2=',a2)
a3=np.linspace(0,10,11)    #创建一个等差数组,0-10分成11份
print('a3=',a3)
a5=np.zeros([3,3])        #创建一个3行3列的全0二维数组
print('a5=',a5)
a6=np.ones([3,3])         #创建一个3行3列的全1二维数组
print('a6=',a6)
a7=np.identity(3)         #创建一个3单位矩阵,对角线元素都是1,其他元素维0
print('a7=',a7)

2.数组与数值的算术运算

import numpy as np
a=np.array([1,3,5,7,9],dtype=np.int32)
print(a+2)
print(a-2)
print(a*2)
print(a/2)

3.数组与数组的算术运算

import numpy as np
a=np.array([1,2,3])   #一维数组
b=np.array([[1,1,1],[2,2,2],[3,3,3]])   #二维数组
print(a+b)
print(a-b)
print(a*b)
print(a/b)

4.数组的关系运算

import numpy as np
a=np.random.rand(10)
print(a)
print('a>0.5',a>0.5)  #会针对数组的每一个元素输出True False的结果

5.分段函数

import numpy as np
a=np.random.rand(10)
ones=np.ones(10)
zeros=np.zeros(10)
b=np.where(a>0.5,ones,zeros)
print('a=',a)
print('b=',b)

以上代码根据a数组中的元素决定b数组中元素的值,

如果a中的元素大于0.5,则b中对应元素为1,否则b中对应元素为0

6.数组的元素访问

import numpy as np
a=np.array([1,1,1])
b=np.array([[1,1,1],[2,2,2],[3,3,3]])
print(a[0])    #访问数组a中的第0个元素
print(a[-1])   #访问数组a中的最后个元素
print(b[0,0])  #访问数组b中的第0行第0列的元素
print(b[2,0])  #访问数组b中的第2行第0列的元素
print(b[0])     #访问数组b中的第0个元素

7.数组的切片操作

8.改变数组的形状

import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
b=np.array([[1,2,3],[11,12,13],[21,22,23]])
a1=np.reshape(a,[3,4])        #将一维数组a改变成3行4列的二维数组
print(a1)
a2=np.reshape(a,[2,-1])       #将一维数组a改变成2行二维数组,-1代表列数自动确定
print(a2)
a3=np.reshape(a,[2,2,3])       #将一维数组a改变成3维数组
print(a3)
a4=np.reshape(b,[-1])          #将2维数组b改变成1维数组,-1代表列数自动确定,此处为9
print(a4)

9.二维数组转置

import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
b=np.array([[1,2,3],[11,12,13],[21,22,23]])
a1=a.T     #1维数组a转置还是a
b1=b.T     #2维数组b转置,使得行变成列,列变成行
print(a1)
print(b1)

10.向量内积

import numpy as np
a=np.array([1,2,3,4,5,6,7,8])
a1=np.reshape(a,[2,4])
b=np.array([2,2,2,3])
c=np.array([3,4,5,6])
a1_dot_b=a1.dot(b)   #a1的每一行与c求内积
a_dot_a=a.dot(a)   #a与a对应元素相乘后求和
b_dot_c=b.dot(c)       #b与c对应元素相乘后求和
print(a1_dot_b)
print(a_dot_a)
print(b_dot_c)

11.数组的函数运算

a=np.arange(0,100,10,dtype=np.float64)
b=np.random.rand(10)
a_sin=np.sin(a)    #对a求正弦值
a_cos=np.cos(a)     #对a求余弦值
b_round=np.round(b)   #对b求四舍五入
b_floor=np.floor(b)   #对b求地板值
b_ceil=np.ceil(b)     #对b求天花板值
print(a_sin)
print(a_cos)
print(b_round)
print(b_floor)
print(b_ceil)

12.对数组不同纬度元素进行计算

import numpy as np
a=np.array([[4,0,9,7,5,6],[1,9,7,11,8,12]],dtype=np.float64)
a_sum=np.sum(a)     #对a中所有元素求和
a_sum_0=np.sum(a,axis=0)  #二维数组纵向求和
a_sum_1=np.sum(a,axis=1)  #二维数组横向求和
a_mean_1=np.mean(a,axis=1)  #二维数组横向求平均值
weights=[0.7,0.3]
a_avg_0=np.average(a,axis=0,weights=weights)   #纵向求加权平均值
a_max=np.max(a)         #求a的最大值
a_min_0=np.min(a,axis=0)   #纵向求最小值
a_max_1=np.max(a,axis=1)   #横向求最小值
print(a_sum)
print(a_sum_0)
print(a_sum_1)
print(a_mean_1)
print(a_avg_0)
print(a_max)
print(a_min_0)
print(a_max_1)

13.计算数组中元素出现的次数

import numpy as np
b=np.array([1,1,1,4,5,6,4,4,4,2,2])
b_count=np.bincount(b)   #计算每一个数出现的次数
b_unique=np.unique(b)    #返回数组中出现的元素值,并且去除重复元素
print(b_count)
print(b_unique)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值