当前位置: 首页 > news >正文

Numpy的应用-2

1:获取描述统计信息

描述统计信息主要包括数据的集中趋势、离散程度和频数分析等,其中集中趋势主要看均值和中位数,离散程度可以看极值、方差、标准差等。

import numpy as np
array1 = np.random.randint(1, 100, 10)
array1


接下来对这段数组进行处理


2:计算和(sum)均值(meam)中位数(median)

print(array1.sum())
print(np.sum(array1))
print(array1.mean())
print(np.mean(array1))
print(np.median(array1))
print(np.quantile(array1, 0.5))

可以直接对数组取这几个值,当然也可以使用numpy中的函数,最后quantile的第二个参数设置为0.5表示计算50%分位数,也就是中位数。

3:极值(amax,amin)、全距(ptp)和四分位距离。 

print(array1.max())
print(np.amax(array1))
print(array1.min())
print(np.amin(array1))
print(np.ptp(array1))
q1, q3 = np.quantile(array1, [0.25, 0.75])
print(q1)
print(q3)
print(q3 - q1)

其中全距指的是最大值与最小值的差值,通过之前说的quantile设置第二个参数得到两个四分位的数值。

4:方差(var)、标准差(std)和变异系数。

print(array1.var())
print(np.var(array1))
print(array1.std())
print(np.std(array1))
print(array1.std() / array1.mean())

变异系数通过计算得到
 

5:绘制箱线图(boxplot)

import matplotlib.pyplot as plt
plt.boxplot(array1, showmeans=True)
plt.ylim([-20, 120])
plt.show()

ylim设定y轴区间

6:对二维数组求上述信息方法(设定axis)

array2 = np.random.randint(60, 101, (5, 3))
array2

 

如果需要对整体处理,和之前说的相同

array2.mean()

 

现在对每一列进行处理(axis=0)

array2.mean(axis=0)

 

对每一行处理(axis=1)

array2.mean(axis=1)

 如果对于这样一个多维数组绘制箱线图

plt.boxplot(array2, showmeans=True)
plt.ylim([-20, 120])
plt.show()

7:判断True(all,any)


判断数组是否都为True(all)(全为True,使用all返回True否则返回false)或者有True(any)(只要有一个True就会返回True)

array3 = np.array([1,0,3])
print(array3.all())
print(array3.any())

 

8:修改数据类型(astype)

array3.astype(float)

 

8:修改数组形状(reshape)

将其变成三行二列

c = c.reshape(3,2)

9:保存数据到二进制文件中(dump),加载二进制文件创建数组(load)

c.dump('array1-data')
array3 = np.load('array1-data', allow_pickle=True)
array3

10:将数组写道文件中(tofile)

array1.tofile('array.txt', sep=',')

 文件中的内容

11:交换数组指定的轴(swapaxes)和转置(transpose)。

array2.swapaxes(0, 1)
array2.transpose()

12:将数组转化为列表(tolist)

print(array2.tolist())
print(type(array2.tolist()))

http://www.lryc.cn/news/596017.html

相关文章:

  • 2025年远程桌面软件深度评测:ToDesk、向日葵、TeamViewer全方位对比分析
  • oracle查询数据结构滤涉及的sql语句
  • 开发者的AI认知指南:用大模型重新理解人工智能(下)
  • 疯狂星期四文案网第15天运营日记
  • PCIe Base Specification解析(三)
  • TDengine时序数据库 详解
  • Kotlin介绍
  • Python机器学习:从零基础到项目实战
  • 时序数据库 TDengine × Ontop:三步构建你的时序知识图谱
  • 如何编译RustDesk(Unbuntu 和Android版本)
  • LeetCode 658.找到K个最接近的元素
  • Linux下的EtherCAT主站环境搭建和通信测试
  • ZooKeeper学习专栏(五):Java客户端开发(原生API)详解
  • 小米视觉算法面试30问全景精解
  • Linux--指令初识
  • RxSwift 核心解析
  • 鸿蒙ArkTS多环境API管理与安全签名方案实践
  • 【React-Three-Fiber实践】放弃Shader!用顶点颜色实现高性能3D可视化
  • 学习做精准、自动化、高效的 GEO优化系统
  • 水电站自动化升级:Modbus TCP与DeviceNet的跨协议协同应用
  • 使用Minio后处理图片回显问题
  • 2025乐彩V8影视系统技术解析:双端原生架构与双H5免签封装实战 双端原生+双H5免签封装+TV级性能优化,一套代码打通全终端生态
  • TDengine 计算百分位函数使用手册
  • 【LINUX】Centos 9使用nmcli更改IP
  • 【SpringAI实战】实现仿DeepSeek页面对话机器人
  • 基于FastMCP创建MCP服务器的小白级教程
  • libgmp库(GNU高精度算术库)介绍
  • Elasticsearch 学习笔记
  • Doxygen生成接口文档
  • Hadoop调度器深度解析:FairScheduler与CapacityScheduler的优化策略