NumPy 数据读写与常用统计方法
NumPy 不仅用于数组计算,也提供了轻量的数据读写、汇总统计和索引工具。本篇按“读写—统计—排序—去重—搜索”的路径组织常用方法,便于按任务快速查找。
一、NumPy 读取数据(一)使用 NumPy 读写文本文件1. 将一维或二维数组写入 TXT、CSV 文件np.savetxt 把一维或二维数组写成文本。文件扩展名不会自动决定分隔方式;写 CSV 时仍需明确指定 delimiter=","。
参数
解释
参数
含义
—
—
fname
文件名或可写的文本文件对象;以 .gz 结尾时可直接写 gzip 文件
X
要保存的一维或二维数组
fmt
数值格式,例如 %d、%.2f,默认 %.18e
delimiter
列分隔符,默认空格;CSV 通常使用逗号
newline
行分隔符,默认换行符
header、footer
文件首尾的说明文本
comments
写在 header、footer 前的注释前缀,默认 #
encoding
文本编码
123456789101112import numpy as npa ...
NumPy 现代基础:数组、索引、广播与向量化
NumPy 的核心是 ndarray:带有固定数据类型和形状的多维数组。真正值得掌握的不是函数清单,而是 shape、dtype、axis、广播和内存共享这几个心智模型。本文以当前 NumPy 2.x 的写法重新整理这些基础。
NumPy 是什么NumPy 是数值计算生态中的基础库,主要用于大型、多维数组上的运算。它的优势可以概括为:
使用连续、结构化的数组表达数据;
通过向量化运算减少重复循环;
为统计、科学计算和数据处理工具提供统一的数组基础。
安装基础依赖:
1python -m pip install numpy
SciPy 是建立在 NumPy 之上的科学计算库,需要线性代数、优化、信号处理等扩展功能时再单独安装即可。
先记住四个属性1234567import numpy as npa = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float64)print(a.shape) # (2, 3):2 行 3 列print(a.ndim) # 2:二维print(a.dtype) # float64pr ...
计算机网络基础:从 TCP 连接到一次 HTTP 请求
背网络层次不难,难的是把它们串成一次真实请求:浏览器如何找到服务器,数据怎样逐层封装,TCP 为什么要握手,页面打不开时又该从哪里查起。本文沿着一次 HTTPS 请求,把这些问题连成一条线。
1. 先把分层模型放回实际网络OSI 七层模型适合解释职责,日常排障更常按 TCP/IP 四层模型思考。两者不是两套互相竞争的协议,而是观察同一通信过程的不同粒度。
TCP/IP 层次
大致对应的 OSI 层
典型协议或对象
主要问题
应用层
应用、表示、会话层
HTTP、TLS、DNS
传什么、怎样解释
传输层
传输层
TCP、UDP
哪个进程、是否可靠
网际层
网络层
IPv4、IPv6、ICMP
发往哪台主机、怎样路由
网络接口层
数据链路、物理层
Ethernet、Wi-Fi、ARP
下一跳是谁、怎样在链路上传输
发送时,应用数据会依次包进传输层报文段、IP 数据包和链路层帧;接收方再反向拆开。每一层只处理自己的地址与控制信息:端口定位进程,IP 地址定位主机,MAC 地址负责当前链路上的交付。
一个容易混淆的点是:交换机主要依据 MAC ...