Python数据分析实例-链家数据-超详尽教程

本文提供了一篇关于使用Python进行链家数据的详细分析教程,包括数据读取、提取、缺失值处理、重复值处理、数据格式化、去除不合理数据以及简单的数据可视化。通过实例讲解了如何将数据从list转换为DataFrame,处理缺失值和重复值,以及将价格转换为数值类型,最后展示了数据的柱状图可视化。
摘要由CSDN通过智能技术生成

1、解读

1.1 目录结构:

目录结构

1.2 数据读取

首先是对于数据的读取,把lianjia1.csv和lianjia2.csv放在main.py的相同目录下,导入pands

 import pandas as pd  

为了方便数据的预览,设置pandas输出时显示完整的数据

# 显示所有列  
pd.set_option('display.max_columns', None)  
# 显示所有行  
pd.set_option('display.max_rows', None)

开始对数据进行读取

  def rcsv():  
        datalist = []  
        print(c.OKBLUE + "# 读取数据" + c.ENDC)  
        for i in range(1, 3):  
		      data = pd.read_csv("lianjia{}.csv".format(i), encoding='GBK')  
		      datalist.append(data)  # 注意这里列表长度是2  
		return datalist
		
    	lianjia = rcsv()

注:使用rcsv()函数读取的数据传入lianjia,这时的lianjia的数据类型为list,可以使用print(type(lianjia))来查看,输出<class 'list'>

问题:如何将list转换为DataFrame类型?
答:采用pandas的concat()函数进行合并

lianjia = pd.concat(lianjia)

至此,数据的初步读取完成,执行print(lianjia.head(5))预览读取到的前5条数据
对前5个数据进行预览

1.3 数据提取

从上图可以发现,有很多数据我们暂时也许是用不到的,假设需要用到的数据是['成交单价', '成交小区', '成交楼层', '版块']这四列,使用lianjia = lianjia[['成交单价', '成交小区', '成交楼层', '版块']]即可提取出所需的数据。执行print(lianjia.head(5))预览读取到的前5条数据
对前5个数据进行预览

1.4 缺失值预处理

数据提取之后,在进行分析之前,需要把缺失的数据删除。
使用print(lianjia.isnull().sum())来输出缺失值的数量
缺失值统计
查看缺失值print(lianjia[lianjia.版块.isnull()])
查看缺失值

可以发现,版块的缺失值比较多,但是版块并不重要,在这里我们需要把成交单价缺失的行删除掉,但是如果直接用lianjia.dropna()进行删除,那么仅仅是版块缺失的行也会被删除,因此采用

lianjia.dropna(how='all', inplace=True)

传入参数:

	# 传入参数
	how='all' # 指的是删除数据全部缺失的行
	inplace=True # 是指把操作应用到lianjia变量之上

这样的话,删除了所有数据都缺失的行,保留下来的数据都是有单价的数据。
再次统计缺失值

print(lianjia.isnull().sum())

再次统计缺失值
至此,缺失值的处理完成。

1.5 重复值预处理

使用pandas的duplicated()函数统计重复行的数量。

print(lianjia.duplicated().sum())

在这个地方要注意的一个点,之前我们发现数据集中的某些行的版块是缺失的,但是如果有这么两条数据,是重复的,但是其中一条的版块数据丢失了,用上面的方法不能把这种重复行筛选出来,因此采用下面的,只去看’成交单价’, ‘成交小区’, '成交楼层’三个值重复的行。

print(lianjia.duplicated(subset=['成交单价', '成交小区', '成交楼层']
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值