pandas索引和获取

《pandas索引和获取》

简介

在pandas中最常见的操作就是索引和获取数据,在老版本中使用的ix方法已经被抛弃,转而代之的是lociloc方法。

Series操作

在Series中索引和获取的工作方式类似NumPy数组。示例如下:

可以看出Series的索引值可以是整数,也可以是当前定义的索引值。

从这里可以看出,使用标签的切片运算和普通的切片不同,它的末端是包含了结束标签的值。

DataFrame操作

相比于Series,DataFrame中的操作会比较复杂。涉及到获取行或列,获取块数据等操作。可以使用标签切片,也可以使用普通的切片,其中涉及到的方法不同,接下来会一一介绍。

获取行

代码演示:

可以看出,使用标签切片和普通切片是不同的,前者会包括结束索引。在这里不能使用诸如a[0]这样的操作来获得单独某行,会引发KeyError错误。在后面会讲到如何获取单独一行的方法。

获取列

获取列的方式有两种,一种是使用列标签切片,一种是访问列属性。

代码演示:

在这里提倡使用列表切片的方式,因为如果使用列属性的时候可能会发生错误,比如有一个列名叫index,此时调用index列会与pandas中的index属性发生冲突。使用列标签切片的方式还能获取多列数据:

获取块数据

可以使用loc方法和iloc方法获取块状数据,实际使用较多。loc方法接受标签型索引,而iloc方法只接受整数型索引。

方法 描述
iloc[val1, val2] 使用整数索引,val1为行索引,val2为列索引
loc[val1, val2] 使用标签索引,val1为行索引,val2为列索引

代码演示:

可以看出,使用loc方法要指明使用的标签索引,并且包含结束标签索引的数据。如果想通过整数索引获取数据,就要使用iloc方法:

使用iloc方法,就要注意使用切片的时候是不包含结束索引的数据。

总结

pandas中基本的索引和获取操作就是这些,在实际使用中应该学会触类旁通、举一反三。

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注

6 − 4 =