Series、DataFrame对象在数据分析方面被广发应用,大多数优秀的特性都取决于完全整合到这些数据结构中的Index对象。轴标签或者其他用作轴名称的元数据就存储在Index对象,前面讲过如何把存储多个标签的数组转化为index对象:指定构造函数的index选项。
查看Series、DataFrame对象的index直接调用对象实例的index属性,跟Series、DataFrame中其他元素不同的是,Index对象不可改变,声明后它不能改变。不同数据结构公用Index对象时,该特性能保证它的安全。
每个Index对象都有很多方法和属性,当你需要知道他们所包含的值时,这些方法和属性非常有用。
idxmin()与indxmax()函数分别返回索引值的最小与最大的元素
在pandas数据结构中,Index对象的is_unique属性可以知道数据结构中是否含有重复的索引项
更换索引
Index对象在声明后不能改变,但是执行更换索引操作则可以解决这个问题。
更换索引时可以调整索引序列中各标签的顺讯,增加或者删除新标签,删除的标签在返回的新对象中不会出现,增加的新标签,pandas会添加NaN作为其元素。
重新编制索引,定义所有的标签序列在遇到大数据量时会变得很麻烦,我们可以使用自动填充或者插值的方法。
如上,我们定义的索引列不完整而是确实了几个值(1,3,5)。常见的需求为插值,已得到一个完整的序列。方法是用reindex()函数,method选项指定值为ffill,新插入的索引项对应的值为前面索引编号比他小的那一项的元素。如,新添了标签值为1 的索引项,他的值为前一个索引编号0的值‘cat’。如果想让新添的索引项对应的值为比他索引编号大的那一项的值,则method选项指定值为bfill。
删除
pandas中专门提供了一个用于删除Index对象的函数:drop(),它返回不包含已删除索引及其元素的新对象
DataFrame中的元素删除,需要指定元素两个轴的轴标签。传入行的索引可删除行
要删除列,需要指定列的索引,还必须用axis选项指定从哪个轴删除元素,按照列的方向删除,axis=1
网友评论