我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第6篇文章,点击查看活动详情
1. 引言
我们将对numpy,pandas,matplotlib,seaborn库进行综合运用,旨在熟练掌握这些基本工具。
1.1 项目需求:
- 统计每个区域的房源总数量,并使用热力图对房源位置的分布情况进行分析
- 使用条形统计图分析哪种户型的数量最多、更受欢迎
- 统计每个区域的平均租金,并结合柱状图和折线图分析各区域的房源数量和租金情况
- 统计面积区域的市场占有率,并使用饼图绘制个区间所占比例
1.2 数据集介绍:
- 数据集是有关于租房信息的公开数据。
- 具体特征包括所属区域、小区名称、房屋、价格、房屋面积、户型等等。
2. 代码演示
2.1 导入模块
首先,需要导入所需的模块:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
2.2 数据集处理
我们先使用pandas读取csv数据文件:
file_name = pd.read_csv("链家北京租房数据.csv")
file_name
读取结果如下图所示:
查看数据集基本属性和信息:
-
file_name.shape:获取基本属性 -
file_name.info():查看数据中每个字段基本信息
运行结果如下图所示:
file_name.describe():获取基本统计学数据描述
运行结果如下图所示:只能计算价格这一列的最大值最小值等统计学描述,其余列是object属性,不会去计算。
2.3 数据基本处理
虽然数据集已经有了,但是数据集中可能还存在一定的问题,不能直接用来数据分析。这就需要我们进行数据预处理,比如:处理缺失值,处理重复值,统一数据类型等等。
2.3.1 重复值检测
# 重复值检测
file_name.duplicated().any()
运行结果如下图所示:
2.3.2 删除重复值
# 删除重复值
file_data = file_name.drop_duplicates()
file_data.shape
# s数据量变少了,说明重复值已经被删去了
运行结果如下图所示:可以发现数据由8223条样本减少到5773条样本,说明删除了一些重复值。
2.3.3 空值处理
- isnull():判断是否存在空值,若没有空值返回false
- dropna():删除空值
# 空值处理
file_data = file_data.dropna()
file_data.isnull().any()
运行结果如下图所示: