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'] == '张三')]