文章目录


1.读取数据

data = pd.read_csv("G:\Projects\pycharmeProject\大数据比赛\data\mysql.csv")

2.数据清洗和预处理

2.1 查找空值

2.1.1 判断各字段中是否存在缺失值 isnull().any/all(axis=0)

### 2.1.1 查看空值 判断各字段中是否存在缺失值
isnull_any_col = data.isnull().any(axis=0)
print(isnull_any_col)

【数据分析与预处理】 ---- 查找处理空值_字段


2.1.2 判断数据行中是否存在缺失值 isnull().any/all(axis=1)

isnull_any_ind = data.isnull().any(axis=1)
print(isnull_any_ind)

【数据分析与预处理】 ---- 查找处理空值_数据分析_02


2.1.2 定位到缺失值所在行 data.loc[data.isnull.any(axis=1)

data_loc = data.loc[data.isnull().any(axis=1)]
print(data_loc)
print(data_loc.shape)

【数据分析与预处理】 ---- 查找处理空值_数据_03


2.1.3 统计各字段中缺失值的数量 data.isnull().sum(axis=0)

isnull_any_col_sum = data.isnull().sum(axis=0)
print(isnull_any_col_sum)

【数据分析与预处理】 ---- 查找处理空值_字段_04


2.2.处理空值

2.2.1 直接删除空值数据所在行 dropna(axis=0)

print(data.shape)
drop_na = data.dropna(axis=0)
print(drop_na.shape)

【数据分析与预处理】 ---- 查找处理空值_数据_05

  • 这里数据集不能够使用删除行来做,仅展示效果!

2.2.2 定义缺失值为0 fillna(0,inplace=False)

fill_na = data.fillna(0,inplace=False)
print(fill_na.isnull().sum(axis=1))

【数据分析与预处理】 ---- 查找处理空值_字段_06


2.2.3 填充法 — (中位数、平均值…) fillna(value={‘?’:data[‘?’].mean(), ‘?’:data[‘?’].mode()[0]},inplace=False)

fill_na_value = data.fillna(value={'房间数':data['房间数'].mean(),
'评分':data['评分'].mode()[0]},
inplace=False)
print(fill_na_value.isnull().sum(axis=0))

【数据分析与预处理】 ---- 查找处理空值_数据_07