Python-数据分析之 pandas 初步

  • pandas是一个常用的第三方 Python 库,提供快速灵活的数据处理功能,也是进行数据分析的有力工具
  • pandas尤其擅长处理以下数据:

    以下几种数据尤其适合用pandas进行处理:

    • 多种数据混合的扁平化数据格式,比如 SQL 表和 Excel 电子表格;
    • 时间序列数据,不管有序无序;
    • 任意带有行列标签的矩阵数据,不管是同种数据类型还是多种数据类型;
    • 还有其他任意的统计数据集,不必带标签。
  • 实际上pandas是术语“panel data”(面板数据)的简写
  • 主要数据类型

    pandas中有两个主要的数据类型,一种是 Series,称为“序列”,是一种一维数据结构;另一种是 DataFrame,称为“数据帧”或是“数据框架”,是一种二维数据结构。在pandas中,我们就是使用这两种主要的数据结构,“喜迎四海宾朋,笑对八方来客”,分分钟处理掉天上地下来的各种数据。

    其中,Series 内部要求是同种数据,而 DataFrame 则可以使混合数据。更进一步地说,DataFrame 其实就是包含了一至多个 Series

  • numpy虽然提供了强大的多维数组供我们进行数据处理,但是这中间有一个要命的问题:维数比较少的时候还好,维数一旦多起来,你还分得清哪个轴代表什么意义吗?呃当然不排除有人可以,但是大多数人肯定是不行的,因为numpy的每个轴之间其实没有什么本质上的差异,你可以是轴 1,我也可以是轴 1,谁有比谁高贵怎么滴?因此在使用numpy进行高维数据处理,尤其是当其中每个维度都有特定的意义时,使用numpy的多维数组就会给使用者造成很大的负担——而这些本来不应该是由使用者负担的。

    因此pandas的优势就体现出来了。pandas可以为每一列数据打上标签,这样通过标签就可以直接区分开每个轴谁是谁,也可以通过标签获得更具语义性的信息,知道每列数据都是什么、有什么用途。即使是交换了顺序也无所谓,比较在pandas中,我们可以不再以默认的序号作为索引。

  • Series

    Series 实际上是一个带标签的一维数组,数组中的内容可以是任何数据类型。在 Series 中,“带标签的轴”统称为“index(索引)”,类似于我们之前学习的字典数据类型中的“key(关键字)”。

  • 创建 Series

    创建 Series 最常用的方法就是调用pd.Series

  • >>> s = pd.Series(data, index=index)

     

  • 其中,data要求是下列数据类型之一:

    • Python 字典;
    • Python 列表;
    • N 维数组;
    • 标量(即一个数字)。

    而参数index则应当是一个用来指定轴标签的列表。

    按照原始数据类型的不同,创建 Series 的方式也分为 4 种:1)用 Python 字典创建;2)用 Python 列表创建;3)用 N 维数组创建;4)用标量创建。

posted @ 2020-03-23 15:37  大橘子儿  阅读(143)  评论(0编辑  收藏  举报