Skip to the content.

02-数据表检查


创建数据案例

import pandas as pd
import numpy as np
df = pd.DataFrame({'id':[1001,1002,1003,1004,1005,1006], 
                   'date':pd.date_range('20130102', periods=6),
                   'city':['Beijing','SH','Guangzhou ','Shenzhen','Shanghai', 'Beijing'],
                   'age':[23,44,54,32,34,32],
                   'category':['100-A','100-B','110-A','110-C','210-A','130-F'],
                   'price':[1200,np.nan,2133,5433,np.nan,4432]},
                   columns =['id','date','city','category','age','price'])



数据表概览

# 查看前(后)5行数据
df.head()
df.tail()

# 查看列名称
df.columns

# 查看数据表某列的数值
df['category'].values



数据表维度检查

# 数据维度
df.shape

# 计算数据行数
len(df)
df.shape[0]
df.iloc[:,0].size

# 计算数据列数
df.columns.size
df.shape[1]

# 数据表信息
df.info()

# 查看数据格式
df.dtypes

# 查看数据前五行和对应的格式
a = df.dtypes.to_frame().join(df.head().T, lsuffix='_type')



数据表缺失值检查

# 检查缺失值
df.isnull()
df['price'].isnull()

# 计算缺失值数量
df.isnull().sum()

# 计算缺失率
df.isnull().sum(axis=0).sort_values(ascending=False)/float(len(df))



数据表唯一值检查

# 查看某列的唯一值
df['city'].unique()

# 计算某列唯一值的数量
df['city'].nunique()

# 枚举所有变量的唯一值
ccc = [df[x].unique().tolist() for x in df.columns]
c = pd.Series(ccc, index=df.columns)

# 检查是否有重复的变量
len(set(list(df.columns))) == df.shape[1]



数据表列元素计数检查

# 查看各列非空元素个数
df.count()

# 计算某列各取值的计数
df['city'].value_counts()

# 计算某列各取值的计数占比
df['city'].value_counts(normalize=True)

# 计算某列各取值的计数占比并排序
df['city'].value_counts(normalize=True, sort=True)



数据表统计信息检查

# 数据表描述性统计 
df.describe()

# 分位数
df.quantile(0.25) #四分之一位数
df.quantile(0.75) #四分之三位数
df.quantile(0.25, axis=1) #每一行的四分之一位数

# 返回某列最大(小)值所对应的index
df['age'].idxmax()
df['age'].idxmin()

# 返回行最大(小)值所对应的index
df.idxmax(axis=1)
df.idxmin(axis=1)

# 返回某列最大(小)值的前三
df['age'].nlargest(3)
df['age'].nsmallest(3)


< <目录 03-数据表清洗 > 返回顶部 ↑