接着pandas数据框(1)介绍与应用,今天学习如何借助于pandas模块进行数据的预处理,内容包括数据集变量与观测的筛选、变量的重命名、数据类型的变换、排序、重复观测的删除、和数据集的抽样。
一、数据筛选
以iris数据集为例,想从数据集中取出某列(序列对象)或某几列该如何操作?
import pandas as pd iris = pd.read_csv('iris.csv') iris.head(4)
在pandas取出一列有两种方法,一种是比较普遍适用的名称索引法,另一种则是点取法。
#取出Species列 #名称索引法 iris['Species'].head() #点取法 iris.Species.head()
如果使用点取法取出数据集中的某列,需要注意的是列的名称必须是一个整体,例如stu age或stu.age等格式的变量名就不能使用点取法。
如果你需要取出的不仅仅是一列数据,而是多列,那只能使用名称索引或位置索引了。接下来再来看看如何按照某些条件取出想要的观测行:
一个变量的观测筛选
#取出‘setosa’花种 iris.loc[iris.Species=='setosa',:].head(2)
两个变量的观测筛选
#取出‘setosa’花种且Sepal.Length大于5的观测 iris.loc[(iris.Species=='setosa') &(iris['Sepal.Length']>5),:].head(2)
需要注意的是:多个变量的筛选,可以是或(|)关系、可以是且(&)关系还可以是非(~)关系,一定要用圆括号把条件括起来
两个变量的观测筛选并筛选部分变量<