Pandas学习之(一)
1.Pandas的数据结构介绍--Series
Series类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成.Series的字符串表示形式为:索引在左边,值在右边.可以通过Series的 values和index属性获取其数组表示形式和索引对象:
1)源数据是列表
显示其值和索引
2)根据指定的索引和值创建Series
3) 根据索引的方式,选取Series中的单个或一组值:
4)Numpy数组运算(根据布尔型数组进行过滤\标量乘法\应用数学函数等)都会保留索引和值之间的链接
5)将Series看成一个定长有序的字典,用在许多原本需要字典参数的函数中:
6)可以根据Python字典来创建Series:
只传入一个字典,则结果Series中的索引就是原字典的键(有序排列)
7)检测缺失数据
8)series最重要的一个功能,是在算术运算中自动对齐不同索引的数据
8)Series对象本身及其索引都有一个name属性,该属性跟pandas的其他的关键功能非常密切:
9)s索引可以通过赋值的方式修改
2.Pandas的数据结构介绍--DataFrame
DataFrame是表格型的数据结构,含有一组有序的列,每列可以是不同的值类型(数值\字符串\布尔型).DataFrame既有行索引也有列索引,可以看做是由Series组成的字典,其行操作和列操作基本平衡.
1)构建DataFrame的方法有很多,最常用的一种是直接传入一个由等长列表或Numpy数组组成的字典
如果指定了列序列,则DataFrame的列就会按照指定顺序进行排列:
如果传入的列在数据中找不到,就会产生NA值:
2)通过字典标记或属性的方式,可以将DataFrame获取为一个Series
3)行也可以用位置或名称进行索引,比如用索引字段ix
4)列可以通过赋值的方式进行修改.例如,我们可以给孔的"debt"列附上一个标量值或一组值:
5)将列表或数组赋给某个列,其长度必须跟DataFrame的长度相匹配.
6)为不存在的列赋值会创建出一个新列,关键字del用于删除列
警告:通过索引的方式返回的列是视图不是副本.因此对返回的Series所做的任何修改会全部反映到DataFrame上,通过Series的copy方法即可显式的复制列.
7)嵌套字典也可用于生成DataFrame
8)由Series组成的字典用法类似
如果设置了DataFrame的index和columns的name属性,则会显示出来
9)跟Series一样,DataFrame的values属性也会以二维ndarray的形式返回DataFrame中的数据
如果DataFrame各列的数据类型不同,则值数组的数据类型就会选用能兼容所有列的数据类型