1.Pandas 所有数据结构的值都是可变的,但数据结构的大小并非都是可变的,比如,Series 的长度不可改变,但 DataFrame 里就可以插入列。
2.Pandas 里,绝大多数方法都不改变原始的输入数据,而是复制数据,生成新的对象。 一般来说,原始输入数据不变更稳妥。
3.以前,Pandas 推荐用 Series.values 或 DataFrame.values 从 Series 或 DataFrame 里提取数据。旧有代码库或在线教程里仍在用这种操作,但 Pandas 已改进了此功能,现在,推荐用 .array
或 to_numpy
提取数据,别再用 .values
了。
4.借助 numexpr
与 bottleneck
支持库,Pandas 可以加速特定类型的二进制数值与布尔操作。处理大型数据集时,这两个支持库特别有用,加速效果也非常明显。 numexpr
使用智能分块、缓存与多核技术。bottleneck
是一组专属 cython 例程,处理含 nans
值的数组时,特别快。
5.empty()、any()、all()、bool() 可以把数据汇总简化至单个布尔值。
6. (df > 0).any().any() 结果简化为单个布尔值。
7.通过 empty 属性,可以验证 Pandas 对象是否为空。
8.有时,要合并两个相似的数据集,两个数据集里的其中一个的数据比另一个多。比如,展示特定经济指标的两个数据序列,其中一个是“高质量”指标,另一个是“低质量”指标。一般来说,低质量序列可能包含更多的历史数据,或覆盖更广的数据。因此,要合并这两个 DataFrame 对象,其中一个 DataFrame 中的缺失值将按指定条件用另一个 DataFrame 里类似标签中的数据进行填充。要实现这一操作,请用下列代码中的 combine_first() 函数。
9.cut() 函数(以值为依据实现分箱)及 qcut() 函数(以样本分位数为依据实现分箱)用于连续值的离散化: