首页 > 其他分享 >Numpy数据运算

Numpy数据运算

时间:2023-10-16 17:11:09浏览次数:32  
标签:... 00 01 运算 Numpy np array 数据 Out

1.4-NumPy数组运算    

1.4.1 算术运算

  • add 加
  • subtract 减
  • multipie 乘
  • divide 除

1.4.2 数学运算

  • 三角函数: sin,cos,tan
  • 算术运算

1.4.3 统计运算

  • mean 均值
  • average 均值
  • var 方差
  • std 标准差

1.4.4 聚合运算

  • 性能区别: np聚合函数和py内置函数
  • sum 累加
  • prod 累乘
  • max 最大值
  • min 最小值
  • 统计运算

1.4.5 筛选和排序

  • where
  • sort
  In [1]:
import numpy as np
  In [2]:
#  算术运算
a = np.random.random(10000)*10
b = np.random.random(10000)*10
a
b
  Out[2]:
array([9.66314537, 9.56406383, 4.43887791, ..., 7.85109353, 6.34951408,
       2.53352231])
  In [3]:
a
  Out[3]:
array([9.34912059, 1.72634859, 6.30775754, ..., 8.32242753, 8.251723  ,
       7.08478662])
  In [4]:
b
  Out[4]:
array([9.66314537, 9.56406383, 4.43887791, ..., 7.85109353, 6.34951408,
       2.53352231])
  In [5]:
# 既可以使用运算符也可以使用np算术函数
a + b
  Out[5]:
array([19.01226595, 11.29041242, 10.74663546, ..., 16.17352106,
       14.60123708,  9.61830893])
  In [6]:
np.add(a,b)   # 加
  Out[6]:
array([19.01226595, 11.29041242, 10.74663546, ..., 16.17352106,
       14.60123708,  9.61830893])
  In [7]:
np.subtract(a,b) # 减
  Out[7]:
array([-0.31402478, -7.83771524,  1.86887963, ...,  0.47133401,
        1.90220891,  4.55126431])
  In [8]:
np.multiply(a,b) # 乘
  Out[8]:
array([90.34191128, 16.51090807, 27.99936564, ..., 65.34015693,
       52.39443141, 17.94946495])
  In [9]:
np.divide(a,b)  # 除
  Out[9]:
array([0.96750284, 0.18050367, 1.42102524, ..., 1.06003419, 1.29958338,
       2.7964177 ])
  In [10]:
# 数学函数-三角函数
ang = np.array([0,30,45,60,90,120,135,150,180])
rad = np.sin(ang*np.pi/180)
rad
  Out[10]:
array([0.00000000e+00, 5.00000000e-01, 7.07106781e-01, 8.66025404e-01,
       1.00000000e+00, 8.66025404e-01, 7.07106781e-01, 5.00000000e-01,
       1.22464680e-16])
  In [11]:
ang = np.array([0,30,45,60,90,120,135,150,180])
rad = np.cos(ang*np.pi/180)
rad
  Out[11]:
array([ 1.00000000e+00,  8.66025404e-01,  7.07106781e-01,  5.00000000e-01,
        6.12323400e-17, -5.00000000e-01, -7.07106781e-01, -8.66025404e-01,
       -1.00000000e+00])
  In [12]:
ang = np.array([0,30,45,60,90,120,135,150,180])
rad = np.tan(ang*np.pi/180)
rad
  Out[12]:
array([ 0.00000000e+00,  5.77350269e-01,  1.00000000e+00,  1.73205081e+00,
        1.63312394e+16, -1.73205081e+00, -1.00000000e+00, -5.77350269e-01,
       -1.22464680e-16])
  In [14]:
# 统计
d2 = np.array([1,2,3,4,5])
d2.mean()
  Out[14]:
3.0
  In [15]:
np.average(d2)
  Out[15]:
3.0
  In [16]:
np.average(d2,weights=np.array([2,2,1,1,1]))   # 可以设置权重
  Out[16]:
2.5714285714285716
  In [17]:
np.average(d2,weights=np.array([1,1,1,2,3]))
  Out[17]:
3.625
  In [18]:
# 中位数
np.median(d2)
  Out[18]:
3.0
  In [19]:
d3 = np.array([1,2,3,4,5,6])
np.median(d3)
  Out[19]:
3.5
  In [20]:
# 方差
np.var(d3)
  Out[20]:
2.9166666666666665
  In [21]:
# 标准差
np.std(d3)
  Out[21]:
1.707825127659933
  In [22]:
# 聚合运算
a
  Out[22]:
array([9.34912059, 1.72634859, 6.30775754, ..., 8.32242753, 8.251723  ,
       7.08478662])
  In [23]:
b
  Out[23]:
array([9.66314537, 9.56406383, 4.43887791, ..., 7.85109353, 6.34951408,
       2.53352231])
  In [24]:
%time sum(a)
%time np.sum(a)
   
CPU times: total: 0 ns
Wall time: 0 ns
CPU times: total: 0 ns
Wall time: 0 ns
Out[24]:
49855.5814326455
  In [25]:
np.prod(d2)
  Out[25]:
120
  In [26]:
np.max(d2)
  Out[26]:
5
  In [27]:
# 筛选
d3
  Out[27]:
array([1, 2, 3, 4, 5, 6])
  In [28]:
np.where(d3>3)    # 返回的索引
  Out[28]:
(array([3, 4, 5], dtype=int64),)
  In [29]:
np.where(d3<3)    # 返回的索引
  Out[29]:
(array([0, 1], dtype=int64),)
  In [30]:
np.sort([5,4,2,7,2,1])
  Out[30]:
array([1, 2, 2, 4, 5, 7])
  In [ ]:  

标签:...,00,01,运算,Numpy,np,array,数据,Out
From: https://www.cnblogs.com/mlzxdzl/p/17767809.html

相关文章

  • 数据流图
      ......
  • 数据结构与算法 | 数组(Array)
    数组(Array)数组(Array)应该是最基础的数据结构之一,它由相同类型的元素组成的集合,并按照一定的顺序存储在内存中。每个元素都有一个唯一的索引,可以用于访问该元素。 //java数组示例 int[]numbers1={2,0,2,3,9,23}; //或者 int[]numbers2=newint[6];基本概念数组基......
  • es 支持实时的数据读取吗
    通常我们说es是近实时的搜索服务,指的是es写入一条数据后,默认1s后才可以搜索到,但我们在实际使用过程中指定id可以进行实时的查询。客户端使用GetRequest发起的查询默认是实时的,分片会从translog中读取数据并返回,为什么通过id查询就是实时的呢?es在写入数据时,首先写......
  • sortable 拖拽后数据变更但视图不变
    问题表格中某两行拖拽换序,使用sortable.js在拖拽结束后调用换序接口,再更新数据列表。问题是数据变了,但视图不变。如下图所示:分析vue无法检测数组中顺序的变化。即使采用$set,$forceUpdate(),给组件添加key属性,仍然无法解决该问题。解决办法请求数据列表前,先重置列表。......
  • 2023年第四季数据治理认证DAMA-CDGA/CDGP认证开始备考
    DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升......
  • 实验室信息化管理系统LIMS,实现实验室数据和信息的收集、分析、陈述和处理
    实验室信息化管理系统LIMS,由计算机硬件和应用软件组成,能够实现实验室数据和信息的收集、分析、陈述和处理。实验室信息化管理系统LIMS是以查验检测作业为中心,包含一个以样品分析为主线的从样品登录、登记处理、查验检测、数据计算分析到成果输出等流程的处理,实验室信息处理系统LIMS......
  • 2023年10月最新全国省市区县和乡镇街道行政区划矢量边界坐标经纬度地图数据 shp geojs
    发现个可以免费下载全国 geojson 数据的网站,推荐一下。支持全国、省级、市级、区/县级、街道/乡镇级以及各级的联动数据,支持导入矢量地图渲染框架中使用,例如:D3、Echarts等geojson数据下载地址:https://geojson.hxkj.vip该项目github地址:https://github.com/TangSY/echarts-m......
  • 2020年全球30米湿地数据产品(GWL_FCS30)
    2020年全球30米湿地数据产品(GWL_FCS30)简介与Notebook示例该数据集利用时间序列的Landsat反射率数据产品和Sentinel-1SAR影像,加上分层分类策略和局部自适应随机森林分类算法,成功地整合出2020年第一个具有精细分类系统的全球30米湿地产品。湿地被分为四种内陆湿地(沼泽、沼泽、水淹......
  • 年轻人的第一个车轱辘——比较两个数据库中表结构的不同并导出为Excel文件
    packagecom.example.demo;importlombok.Data;importorg.apache.commons.collections4.ListUtils;importorg.apache.poi.ss.usermodel.*;importorg.apache.poi.ss.util.CellRangeAddress;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importjava.io.FileO......
  • 数据结构之拓扑序列
    例题展示例题解决拓扑排序指的是从一个入度为0的点开始,将这个点记录下来,同时将这个点以及这个点的出度的线去除,再找入度为0的点,直到将所有的顶点遍历完成。故而,上述例题中的拓扑排序序列为01243567012436570214356702143657四种。......