一.pandas基础
1.pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。(百度百科)
2.pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包,现已经取代R称为数据分析的主要工具。
3.类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame(R的数据结构) 两个核心数据结构展开的 。
4.Series 和 DataFrame 分别对应于一维的序列和二维的表结构。
5.pandas 约定俗成的导入方法如下:
from pandas import Series,DataFrame
import pandas as pd
二.Series
Series 可以看做一个定长的有序字典。基本任意的一维数据都可以用来构造 Series 对象:
示例1
虽然 dtype:object 可以包含多种基本数据类型,但总感觉会影响性能的样子,最好还是保持单纯的 dtype。
Series 对象包含两个主要的属性:index 和 values,分别为上例中左右两列。因为传给构造器的是一个列表,所以 index 的值是从 0 起递增的整数,如果传入的是一个类字典的键值对结构,就会生成 index-value 对应的 Series;或者在初始化的时候以关键字参数显式指定一个 index 对象:
示例2
Series 对象的元素会严格依照给出的 index 构建,这意味着:如果 data 参数是有键值对的,那么只有 index 中含有的键会被使用;以及如果 data 中缺少响应的键,即使给出 NaN 值,这个键也会被添加。
PS:
Series 的 index 和 values 的元素之间虽然存在对应关系,但这与字典的映射不同。index 和 values 实际仍为互相独立的 ndarray 数组,因此 Series 对象的性能完全 ok。
Series 这种使用键值对的数据结构最大的好处在于,Series 间进行算术运算时,index 会自动对齐。
另外,Series 对象和它的 index 都含有一个 name 属性:
示例3