1拿到数据,先大概看一下数据总体
(1)查看数据共有几行几列
train_data.shape()
(2)查看数据有没有缺失值
train_data.isnull().sum()
(3)查看数据的前几行
train_data.head()
注意,查看数据的几行几列和是否有缺失值,每列数据类型是什么,也可以使用train_data.info()。但用shape()和isnull().sum()更加直观一些。isnull().sum()直接出每个字段缺失值是几个,但info()是非缺失值的数量。
(4)数据的描述
train_data.describe()
这个默认情况显示的是数值型变量的情况,最大最小值等。但也可以显示非数值型的。
注意:这里可以看一下最小值是不是0,因为有时候缺失值是用0来填充的。
检验是否缺失值被填充,还可以用value_counts(),因为这个函数会显示每种不同变量的名称和它对应的数量(特别是类别类的变量)
2 具体对表格内部数据进行操作
(1)修改表格中数据的类型
train_data["A"]=train_data["A"].astype(float)
(2)利用pandas的map函数,将函数映射到某一列或者几列数据集上
train_data["A"]=train_data["A"].map(lambda x:x.replace("*","")
#或者,定义函数
train_data["A"]=train_data["A"].map(func)
注意:这里pandas有apply,map(),applymap()分别对行列进行不同的运算
3 常用的统计
(1)train_data["A"].value_counts()
统计A列中不同种类的每个的个数
还可以进行如下操作
train_data["A"].value_counts()
train_data["A"].value_counts().head()
train_data["A"].value_counts().sort_values(ascending=False).head(20)
train_data["A"].value_counts().plot()
train_data{"A"].value_counts(normalize=True)
(2)groupby的统计
groupby是个函数,所以后面接的是(),完成分组之后是个dataframe,所以后面应该用[],具体到某列,进行什么操作。与apply或者agg一起使用。
(3)nunique的使用
train_data["A"].nunique()
train_data.unnique()