Pandas图鉴之一:Pandas vs Numpy

图片图片

Pandas[1]是用Python分析数据的工业标准。只需敲几下键盘,就可以加载、过滤、重组和可视化数千兆字节的异质信息。它建立在NumPy库的基础上,借用了它的许多概念和语法约定,所以如果你对NumPy很熟悉,你会发现Pandas是一个相当熟悉的工具。即使你从未听说过NumPy,Pandas也可以让你在几乎没有编程背景的情况下轻松拿捏数据分析问题。

Pandas 给 NumPy 数组带来的两个关键特性是:

异质类型 —— 每一列都允许有自己的类型

索引 —— 提高指定列的查询速度

事实证明,这些功能足以使Pandas成为Excel和数据库的强大竞争者。

Polars[2]是Pandas最近的转世(用Rust编写,因此速度更快,它不再使用NumPy的引擎,但语法却非常相似,所以学习 Pandas 后对学习 Polars 帮助非常大。

Pandas 图鉴系列文章由四个部分组成:

Part 1. Motivation

Part 2. Series and Index

Part 3. DataFrames

Part 4. MultiIndex

我们将拆分成四个部分,依次呈现~建议关注和星标@公众号:数据STUDIO,精彩内容等你来~

图片图片

冒号后的空格仅用于说明问题。通常情况下,没有空格。

而你需要用NumPy对 "哪些城市的面积超过450平方公里,人口低于1000万" 这样的基本问题给出答案。

通常情况下,不推荐使用将整个表送入NumPy数组的粗暴解决方案。NumPy数组是同质类型的(=所有的值都有相同的类型),所以所有的字段都会被解译为字符串,在比大小方面也不尽人意。

虽然NumPy也有结构化数组和记录数组,允许不同类型的列,但它们主要是为了与C代码对接。当用于一般用途时,它们有以下缺点:

不太直观(例如,你将面临到处都是> np.sum([1, np.nan, 2]) nan