【数据处理】北京市租房案例实战(2)

语言: CN / TW / HK

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第7篇文章,点击查看活动详情

1. 引言

1.1 项目需求:

本节,我们继续完善北京市租房数据处理实战,数据集基本处理请参考本系列上篇文章:【数据处理】北京市租房案例实战(1) - 掘金 (juejin.cn)

注意:本案例使用 Jupyter Notebook 进行案例演示

首先简单回顾一下项目要求:

  1. 统计每个区域的房源总数量,并使用热力图对房源位置的分布情况进行分析
  2. 使用条形统计图分析哪种户型的数量最多、更受欢迎
  3. 统计每个区域的平均租金,并结合柱状图和折线图分析各区域的房源数量和租金情况
  4. 统计面积区域的市场占有率,并使用饼图绘制个区间所占比例

2. 数据转换类型

在本数据集中,“面积(㎡)”这一列中存在中文字符,说明这一列数据都是字符串类型的。为了方便后续对面积数据进行数学运算,所以需要将“面积(㎡)”一列的数据类型转换为float类型。

2.1 面积数据类型转换

  • 创建一个空数组用来接收新数据
  • 把"面积(㎡)"这列对应的值导出
  • 使用循环遍历,将对应的字符串切分后,追加到空数组中
  • i[:-2]:表示第i个元素的第一个字符到倒数第二个字符
  • append:在数组后追加新的元素 ```python

创建一个空的数组

data_new = np.array([]) data_ares = file_data["面积(㎡)"].values for i in data_ares: data_new = np.append(data_new, np.array(i[:-2]))

data_new ``` 运行结果如下图所示:

image.png - 新数组中保存的数据虽然被切分成功,但是还不是数值的形式 - 需要将其数据类型转换为浮点数 - 代码如下所示: ```python

转换data_new中的数据类型

data_new = data_new.astype(np.float64) data_new ``` 运行结果如下图所示:

image.png - 将转换为浮点数以后的数组替换原数据集 - 先索引到要替换的列,然后对该列进行赋值 - 具体代码如下所示: ```python

替换原数据

file_data.loc[:, "面积(㎡)"] = data_new file_data ``` 运行结果如下图所示:可以看出"面积(㎡)"那一列数据的单位名称被切掉了,只保留浮点数形式,方便后续的数据处理。

image.png