租房数据-数据分析


<br

租房数据分析


先导入相关的数据处理库
import numpy as np
import pandas as pd

import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
%matplotlib inline

一、 读取数据,并简单处理数据

df = pd.read_csv("租房信息.csv")
df.head()



1.1 判断是否有重复值
len(df["标题"].unique()) == len(df)
# 根据标题来判断是否有重复值  false

df.drop_duplicates("标题",inplace=True)
# 删除重复值

df.index = range(len(df))
# 删除之后,重排索引,为了之后拼接数据方便

print(len(df))
# 还有2244条数据



1.2 判断是否有缺失值
df.info()
'''
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2244 entries, 0 to 2243
Data columns (total 10 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   标题      2244 non-null   object 
 1   价格      2244 non-null   float64
 2   小区名     2244 non-null   object 
 3   城市      2244 non-null   object 
 4   街道      2244 non-null   object 
 5   室厅数     2244 non-null   object 
 6   面积      2244 non-null   object 
 7   层数      2244 non-null   object 
 8   交接人     2244 non-null   object 
 9   详情链接    2244 non-null   object 
dtypes: float64(1), object(9)
memory usage: 175.4+ KB
'''

可以看到,全部数据没有缺失值,因此也不用处理缺失值。

若需要处理缺失值,可以选择:

  1. 直接删除存在缺失值的列,一般只有在缺失值占比太多的情况,才这样处理。
  2. 删除缺失值对应的数据,既删除对应的行,这种适用于当缺失值占比较小的情况。
  3. 填充缺失值。

下面给出处理确实值的具体方法:

# 查看所有缺失值数量,降序
total = df.isnull().sum().sort_values(ascending=False)

# 计算缺失值占比
percent = (df.isnull().sum()/df.isnull().count()).sort_values(ascending=False)

# 关联数量和占比
missing_data = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])

# 查看排名前20
missing_data.head(20)

# 根据之前计算的缺失值数据,删除对应的列
df = df.drop(missing_data[missing_data['Total'] > 1].index, 1)

# 删除某列数据缺失值对应的行
df = df.drop(df.loc[df['Electrical'].isnull()].index)

# 查看是否还有缺失值
df.isnull().sum().max()





二、简单分析数据

可以看到,数据中的城市、室厅数、层数、面积,都是文本形式,因此先将数据处理一下,转换成可计算的形式:


2.1 处理数据
# 将城市列分割,和数据拼接一起
df_city = pd.DataFrame(df["城市"].str.split("-").tolist(),columns=["区域","区域2"])
df = pd.concat([df,df_city],axis=1)

# 将室厅数拆解成室数和厅数,拼接在一起
df_st = pd.DataFrame(df["室厅数"].str.replace("厅","").str
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力生活的黄先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值