pandas入门(二)

上一篇:pandas入门(一)

DataFrame构造器

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。

=====================================

建DataFrame的办法最常用的一种是直接传入一个由等长列表或NumPy数组组成的字典
pandas入门(二)

=====================================

DataFrame会自动加上索引(跟Series一样),且全部列会被有序排列
pandas入门(二)

=====================================

特别大的DataFrame,head方法会选取前五行
pandas入门(二)

=====================================

指定了列序列,则DataFrame的列就会按照指定顺序进行排列
pandas入门(二)

=====================================

传入的列在数据中找不到,就会在结果中产生缺失值
pandas入门(二)

=====================================

通过类似字典标记的方式或属性的方式,可以将DataFrame的列获取为一个Series。返回的Series拥有原DataFrame相同的索引,且其name属性也已经被相应地设置
pandas入门(二)

=====================================

行也可以通过位置或名称的方式进行获取pandas入门(二)

=====================================

列可以通过赋值的方式进行修改pandas入门(二)pandas入门(二)

=====================================

将列表或数组赋值给某个列时,其长度必须跟DataFrame的长度相匹配。如果赋值的是一个Series,就会精确匹配DataFrame的索引,所有的空位都将被填上缺失值
pandas入门(二)

=====================================

为不存在的列赋值会创建出一个新列。关键字del用于删除列
pandas入门(二)
pandas入门(二)

通过索引方式返回的列只是相应数据的视图而已,并不是副本。因此,对返回的Series所做的任何就地修改全都会反映到源DataFrame上。通过Series的copy方法即可指定复制列

=====================================

另一种常见的数据形式是嵌套字典,如果嵌套字典传给DataFrame,pandas就会被解释为:外层字典的键作为列,内层键则作为行索引
pandas入门(二)

=====================================

也可以使用类似NumPy数组的方法,对DataFrame进行转置
pandas入门(二)
内层字典的键会被合并、排序以形成最终的索引pandas入门(二)

=====================================

设置了DataFrame的index和columns的name属性,则这些信息也会被显示
pandas入门(二)
values属性也会以二维ndarray的形式返回DataFrame中的数据
pandas入门(二)
DataFrame各列的数据类型不同,则值数组的dtype就会选用能兼容所有列的数据类型
pandas入门(二)

++++++++++++++++++++++++++++++++++++

下一篇:pandas入门(三)