pandas 基本操作(pandas 数据结构介绍)

                                         pandas 数据结构介绍

 

一、pandas 基础数据结构

    1、pandas 中主要有两种数据结构:Series 和 DataFrame。

    2、Series:一种一维的数组型对象,它包含了一个值序列(与 NumPy 中的类型相似),并且包含了数据标签,称为索引(index)。最简单的序列可以仅仅由一个数组组成。注意:Series 中的索引值是可以重复的。

    3、DataFrame:表示矩阵的数据表,它包含已排序的列集合,每一列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame 既有行索引也有列索引,它可以被视为一个共享相同索引的 Series 的字典。在 DataFrame 中,数据被存储为一个以上的二维块,而不是列表、字典或其他 一维数组的集合。

二、Series

    1、由一个数组数据产生简单的 Series 对象

        pandas 基本操作(pandas 数据结构介绍)

        交互式环境中 Series 的字符串表示,索引在左边,值在右边。由于我们不为数据指定索引,默认生成的索引是从 0 到 N-1(N是数据的长度)。

        通过 values 属性和 index 属性分别获得 Series 对象的值和索引:

            pandas 基本操作(pandas 数据结构介绍)

    2、创建一个索引序列,用标签标识每个数据点

        pandas 基本操作(pandas 数据结构介绍)

        与 NumPy 的数组相比,我们可以使用标签来进行索引从数据中选择数据:

            pandas 基本操作(pandas 数据结构介绍)

            ["c", "a", "d"] 包含的不是数字,而是字符串,作为索引列表。

        使用 NumPy 的函数或 NumPy 风格的操作,比如使用布尔值数组进行过滤,与标量相乘,或是应用数学函数,这些操作将保存索引值连接:

            pandas 基本操作(pandas 数据结构介绍)

        从另一个角度考虑 Series,可以认为它是一个长度固定且有序的字典,因为它将索引值和数据值按位置配对。在我们可能会使用字典的上下文中,也可以使用 Series:

            pandas 基本操作(pandas 数据结构介绍)

    3、使用字典生成 Series

        pandas 基本操作(pandas 数据结构介绍)

        当我们把字典传递给 Series 构造函数时,产生的 Series 的索引将是排序好的字典键。

        我们可以将字典键按照我们想要的顺序传递给构造函数,从而生成的 Series 的索引顺序符合我们的预期:

            pandas 基本操作(pandas 数据结构介绍)

            sdata 中的三个值被放置在正确的位置,但是因为 "California" 没有出现在 sdata 的键中,它对应的值是 NaN(not a number),这是 pandas 中标记缺失值 或 NA 值的方式。因为 “Utah” 并不在 states 中,它被排除在结果对象外。

        pandas 中使用 isnull 和 notnull 函数来检查缺失数据:

            pandas 基本操作(pandas 数据结构介绍)

            pandas 基本操作(pandas 数据结构介绍)

            pandas 基本操作(pandas 数据结构介绍)

            注意:isnull 和 notnull 也是 Series 的实例方法。

            pandas 基本操作(pandas 数据结构介绍)

    4、自动对齐索引

        对于很多应用来说,在数学操作中自动对齐索引是 Series 的一个非常有用的特性:

            pandas 基本操作(pandas 数据结构介绍)

            pandas 基本操作(pandas 数据结构介绍)

            pandas 基本操作(pandas 数据结构介绍)

            pandas 基本操作(pandas 数据结构介绍)

    5、Series 对象自身 及其 索引 的 name 属性

        Series 对象自身和其索引都有 name 属性,这个特性与 pandas 其他重要功能集成在一起:

            pandas 基本操作(pandas 数据结构介绍)

    6、修改 Series 的索引

        Series 的索引可以通过按位置赋值的防守进行改变。

        pandas 基本操作(pandas 数据结构介绍)

        pandas 基本操作(pandas 数据结构介绍)

 

三、DataFrame