Pandas用Series构建DataFrame:到底是行还是列?

2025-08-19

在数据分析的世界里,pandas.DataFrame 是最常用的数据结构之一。然而,许多初学者甚至中级用户都会遇到一个常见的困惑:为什么在构造DataFrame时,有时候 Series 变成一列,有时候却变成一行?为什么Pandas的Series底层由NumPy数组提供支撑,但是NumPy ndarray和 Pandas DataFrame在行和列的定义上有时候看起来是“反过来的”?

本文将系统梳理 DataFrame 的构造逻辑,揭示其背后的设计哲学,并强调一个至关重要的概念:样本 vs. 特征。掌握这些原则,你将不再被“按行还是按列”所困扰。

深入理解 NumPy 中的 `axis`:维度、形状与操作的逻辑

2025-08-18

在使用 NumPy 进行数据处理和科学计算时,axis 参数是一个无处不在却又常常令人困惑的概念。无论是求和、拼接、排序还是分割,axis 都在背后决定着操作的方向。理解 axis 的本质,是掌握 NumPy 多维数组操作的关键。

本文将从维度(ndim)形状(shape)axis 的关系入手,系统梳理 axis 在不同函数中的行为模式,帮助你彻底掌握这一核心概念。

搞懂逻辑覆盖 有更新!

2024-03-26

逻辑覆盖 逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖 分为以下几种 语句覆盖 Statement coverage 判定覆盖 Decision coverage 条件覆盖 Condition coverage 条件/判定覆盖 Condition/decision coverage 条件组合覆盖 Condition combination coverage 路径覆盖 Path coverage 例子 Path: L1(a → c → e) L2(a → b → d) L3(a → b → e) L4(a → c → d) 语句覆盖 Statement coverage 语句覆盖的要求是使所有可执行语句至少执行一次 以上图为例,所有的可执行语句都在L1上,只要选取一个用例A=2,B=0,x=3即可满足语句覆盖 判定覆盖 Decision coverage 使每个判定获得一种可能的结果至少一次。 选取用例 A=2,B=0,x=3 覆盖了L1 A=1,B=1,x=1 覆盖了L2 使每个判定的结果都获得了一次 条件覆盖 Cond....