Pandas数据切片与索引

2019-08-07 15:18:13 浏览数 (1)

01 前言

我们经常让Excel表格数据与Pandas的DataFrame数据做类比学习,而在实际的应用中,我们发现,关于数据的选择是很重要的一部分。

例如,要选择某几行某几列,或者符合某种条件的数据(类似于Excel中的筛选功能)。

因此,本篇文章就简单介绍几种Pandas数据选择的方法,用最少的知识点,解决最重要的问题。

02 loc和iloc

在对Pandas数据进行操作时,最常用的就是选择部分行和列。

首先为loc,这个根据行和列索引名称来进行选择,例如下面的数据。行索引就是0到6,列索引就是name、course和score。

其用法为loc[行索引,列索引]。

例如,为选择score列可用下面代码,前面我们选择全部行,后面选择score列。

代码语言:javascript复制
data.loc[:,'score']

获取第3行(其实是第四行,Python索引从0开始),可用以下代码。

代码语言:javascript复制
data.loc[3,:]

选择部分行和部分列,可用下面代码:

代码语言:javascript复制
data.loc[[2,4],['course','score']]

最后iloc用法和loc一样,只是iloc使用行和列的数字索引,也就是说,行索引就是0到6,列索引就是0到2。

03 布尔选择

为了选择符合某种条件的数据,就需要使用布尔选择,例如,我们要选择成绩大于80的数据,可用下面代码。

代码语言:javascript复制
data[data['score'] > 80]

布尔选择有与或非,分别用&,|,~来实现,例如获取李四和王五的成绩单。

代码语言:javascript复制
data[(data['name'] == '李四') | (data['name'] == '王五')]

data[data['name'].isin(['李四','王五'])]

data[~(data['name'] == '张三')]

0 人点赞