数据分析工具包:Pandas
基础序列
- 一维数组:Series
- Series 是带有标签的一维数组,可以保存任何数据类型,轴标签统称为索引
- .index查看series索引,类型为rangeindex
- .values查看series值,类型是ndarray
- 创建方法
- 由字典创建,字典的key就是index,values就是values
- 数组创建(一维数组),默认index是从0开始,步长为1的数字
- 由标量创建,如果data是标量值,则必须提供索引。该值会重复,来匹配索引的长度
- 名称属性
- name为Series的一个参数,创建一个数组的 名称
- .name方法:输出数组的名称,输出格式为str,如果没用定义输出名称,输出为None
- .rename()重命名一个数组的名称,并且新指向一个数组,原数组不变
- 索引方式
- 位置下标,类似序列
- 位置下标从0开始
- 输出结果为numpy.float格式,
- 可以通过float()函数转换为python float格式
- s[-1]结果报错,不存在负索引
- 标签索引
- 方法类似下标索引,用[]表示,内写上index,注意index是字符串
- 如果需要选择多个标签的值,用[[]]来表示(相当于[]中包含一个列表)
- 多标签索引结果是新的数组
- 切片索引
- 用index做切片是末端包含
- 有索引值时可选择-1索引,无规定索引时不可访问-1项
- 布尔型索引
- 比较运算符
- .isnull() 判断是否为空值
- .notnull() 判断是否不是空值
- 位置下标,类似序列
- 基本操作
- 数据查看
- .head() 查看头部数据
- .tail() 查看尾部数据
- 默认查看5条,若需改变,直接填入数字即可
- 重新索引
- .reindex将会根据索引对字段重新排序,如果当前索引不存在,则引入缺失值
- 以列表传入
- 索引不存在时,以缺失值体现NaN
- fill_value参数:填充缺失值的值
- 对齐
- s1 + s2 , Series 上的操作会根据标签自动对齐
- index顺序不会影响数值计算,以标签来计算
- 空值和任何值计算结果扔为空值
- 删除
- .drop ,删除元素之后返回副本(inplace=False)
- 参数传入索引值,有多个值时用[]
- 添加
- 通过.append方法,直接添加一个数组
- .append方法生成一个新的数组,不改变之前的数组
- 修改
- 通过索引直接修改,类似序列
- 数据查看
- Series 是带有标签的一维数组,可以保存任何数据类型,轴标签统称为索引
- 二维数组:DataFrame
- 是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值、字符串、布尔值等
- 创建方法
- 由数组/list组成的字典
- columns为字典key,index为默认数字标签
- columns参数:可以重新指定列的顺序,格式为list,如果现有数据中没有该列(比如'f'),则产生NaN值
- 如果columns重新指定时候,列的数量可以少于原数据
- index参数:重新定义index,格式为list,长度必须保持一致
- 由Series组成的字典
- columns为字典key,index为Series的标签(如果Series没有指定标签,则是默认数字标签)
- Series可以长度不一样,生成的Dataframe会出现NaN值
- 通过二维数组直接创建
- 得到一样形状的结果数据,如果不指定index和columns,两者均返回默认数字格式
- index和colunms指定长度与原数组保持一致
- 由字典组成的列表
- columns为字典的key,index不做指定则为默认数组标签
- colunms和index参数分别重新指定相应列及行标签
- 由字典组成的字典
- columns为字典的key,index为子字典的key
- columns参数可以增加和减少现有列,如出现新的列,值为NaN
- index在这里和之前不同,并不能改变原有index,如果指向新的标签,值为NaN (非常重要!)
- 由数组/list组成的字典
- 索引方式
- 既有行索引也有列索引,可以被看做由Series组成的字典(共用一个索引)
- 选择行与列
- 按照列名选择列,只选择一列输出Series,选择多列输出Dataframe
- 用.loc选择行&#x