【Python数据科学手册】Pandas——二、Pandas对象简介

二、Pandas对象简介

1.Pandas的Series对象

Pandas 的 Series 对象是一个带索引数据构成的一维数组。
(注意Series中S大写)
在这里插入图片描述
Series 对象将一组数据和一组索引绑定在一起
在这里插入图片描述
和 NumPy 数组一样,数据可以通过 Python 的中括号索引标签获取
在这里插入图片描述
Pandas 的 Series 对象比它模仿的一维 NumPy 数组更加通用、灵活。

1).Serise是通用的NumPy数组

NumPy 数组通过隐式定义的整数索引获取数值,而 Pandas 的Series 对象用一种显式定义的索引与数值关联。显式索引的定义让 Series 对象拥有了更强的能力。

pd.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
  • 自定义索引
    在这里插入图片描述
    在这里插入图片描述

2). Series是特殊的字典

Series 对象其实是一种将类型键映射到一组类型值的数据结构。类型至关重要,使得它在某些操作上比Python 的字典更高效。
在这里插入图片描述
索引默认按照顺序排列。典型的字典数值获取方式仍然有效。
在这里插入图片描述

3). 创建Series对象

pd.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)

data : array-like, dict, or scalar value
Contains data stored in Series

index 是一个可选参数, data 参数支持多种数据类型。
上述可知,data可以是列表、numpy数组、字典来创建Series对象。data本身是一个Series对象也没问题。
另外,data还可以是标量,创建 Series 对象时会重复填充到每个索引上
在这里插入图片描述
每一种形式都可以通过显式指定索引筛选需要的结果。
在这里插入图片描述

2.Pandas的DataFrame对象

和Series 对象一样, DataFrame既可以作为一个通用型 NumPy 数组,也可以看作特殊的 Python 字典。
(注意DataFrame中D和F大写)

1). DataFrame是通用的NumPy数组

DataFrame 可以看作是一种既有灵活的行索引,又有灵活列名的二维数组。可以把 DataFrame 看成是有序排列的若干 Series 对象。

pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

在这里插入图片描述
取索引名和列名
在这里插入图片描述

2). DataFrame是特殊的字典

字典是一个键映射一个值,而 DataFrame 是一列映射一个 Series 的数据。
在这里插入图片描述
切片取值见下一节。

3).创建DataFrame对象

pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

data : numpy ndarray (structured or homogeneous), dict, or DataFrame
Dict can contain Series, arrays, constants, or list-like objects

可见创建DataFrame的方法有很多种

  1. 单个Series
    在这里插入图片描述

  2. 字典列表
    在这里插入图片描述

  3. Series对象字典
    上文中的DataFrame对象states就是用Series 对象字典un_dict构造的

  4. NumPy 二维数组
    在这里插入图片描述

  5. NumPy 结构化数组
    在这里插入图片描述

  6. 其他列表样式对象
    在这里插入图片描述

3. Pandas的Index对象

Series 和 DataFrame 对象都使用便于引用和调整的显式索引。可以将Index 对象看作是一个不可变数组或有序集合(实际上是一个多集,因为 Index 对象可能会包含重复值)。
(注意Index中I大写)
在这里插入图片描述

1).将Index看作不可变数组

可以通过标准 Python 的取值方法获取数值,也可以通过切片获取数值
在这里插入图片描述
与 NumPy 数组相似的属性,但 Index 对象的索引是不可变的,Index 对象的不可变特征使得多个 DataFrame 和数组之间进行索引共享时更加安全
在这里插入图片描述

2).将Index看作有序集合

Index 对象遵循 Python 标准库的集合(set)数据结构的许多习惯用法,包括并集、交集、差集等
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章