pandas 1
1、pandas的简介
Pandas 这个名字来源于面板数据(Panel Data)与数据分析(data analysis)这两个名词的组合。Pandas 的出现使得 Python 做数据分析的能力得到了大幅度提升,它主要实现了数据分析的五个重要环节:加载数据、整理数据、操作数据、构建数据模型、分析数据
1.1 Pandas内置数据结构
Pandas为了解决构建和处理二维、多维数组的任务,在ndarray数组的基础上构建出了两种不同的数据结构,分别是 Series(一维数据结构)DataFrame(二维数据结构)
Series 是带标签的一维数组,这里的标签可以理解为索引,但这个索引并不局限于整数,它也可以是字符类型,比如 a、b、c 等;DataFrame 是一种表格型数据结构,它既有行标签,又有列标签。
2 .Pandas 数据结构 - Series
Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。基本结构为:pandas.Series( data, index, dtype, name, copy)
data:一组数据(ndarray 类型)。
index:数据索引标签,如果不指定,默认从 0 开始。
dtype:数据类型,默认会自己判断。
name:设置名称。
copy:拷贝数据,默认为 False。
Pandas 使用 Series() 函数来创建 Series 对象,通过这个对象可以调用相应的方法和属性,从而达到处理数据的目的。
2.1创建 Series 对象
(1)通过列表创建Series对象

其中:0 1 2为索引,1 2 3为数据,dtype为数据类型。并且在没有指定索引时,索引值就会从0开始。可以根据索引值读取数据,如print(myvar[0]),得到的结果为1
此外索引值是可以指定的:

(2)通过字典创建Series对象

此时的索引跟值是直接一一对应的
(3)通过ndarray创建Series对象

在这里是有指定了索引
(4)通过标量创建Series对象

data 是标量值,则必须提供索引,标量值按照 index 的数量进行重复,并与其一一对应。
2.2访问Series数据
2.2.1 位置索引访问

输出结果为1。
还可以通过切片的方式

2.2.2索引标签访问

这边需要注意,通过索引标签访问多个元素值时,需要添加两个中括号
2.3 Series的常用属性

输出结果为:

2.4 Series常用方法
2.4.1 head()&tail()查看数据
如果想要查看 Series 的某一部分数据,可以使用 head() 或者 tail() 方法。其中 head() 返回前 n 行数据,默认显示前 5 行数据。

输出结果为:

tail() 返回的是后 n 行数据,默认为后 5 行

输出结果为:

2.4.2 isnull()&nonull()检测缺失值
isnull() 和 nonull() 用于检测 Series 中的缺失值。isnull():如果为值不存在或者缺失,则返回 True。notnull():如果值不存在或者缺失,则返回 False。
数据的收集会存在导致数据丢失的现象。所以我们可以通过以上方法检测是否存在缺失值,再相应的方法对缺失值进行处理。

