资源简介

爬虫文件(Python实现)[爬取的成都所有房价]-爬取的数据文件(txt文件,空格分隔)[成都所有房价信息]-分析的文件(Python实现)(pandas+numpy+matplotlib分析)-简单的分析结果图(png图)

资源截图

代码片段和文件信息

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv(‘58.csv‘ encoding=‘gbk‘)
print(data.head())  # 查看前5行
print(data.tail())  # 查看后5行
data.info()  # 查看数据信息
print(data.describe())  # 统计学指标查看数据概要

# # 处理缺失数据
# data[‘单价/每平米‘].fillna(‘无‘ inplace=True)
# data[‘面积/每平米‘].fillna(‘无‘ inplace=True)
# data[‘总价/万‘].fillna(‘无‘ inplace=True)

print(data[‘地区‘].unique())  # 打印出地区唯一化后的值
print(len(data[‘地区‘].unique()))  # 打印出地区唯一化后的个数

print(data[‘地区‘].value_counts())  # 对每个地区的数量进行统计
print(data.groupby(‘地区‘)[‘单价/每平米‘].mean().sort_values(ascending=False))  # 单价平均值
print(data.groupby(‘地区‘)[‘面积/平方米‘].mean().sort_values(ascending=False))  # 面积平均值
print(data.groupby(‘地区‘)[‘总价/万‘].mean().sort_values(ascending=False))  # 总价平均值

‘‘‘[‘郫县‘ ‘成都‘ ‘成都周边‘ ‘都江堰‘ ‘双流‘ ‘温江‘ ‘新都‘ ‘龙泉驿‘ ‘金牛‘ ‘高新西区‘ ‘武侯‘ ‘成华‘ ‘青羊‘ ‘锦江‘ ‘高新区‘ ‘天府新区‘]‘‘‘

# 通过搜索引擎等途径获取到每个总统候选人的所属党派建立字典parties候选人名字作为键所属党派作为对应的值
parties = {‘郫县‘: ‘郫县区‘
           ‘成都‘: ‘成都内‘
           ‘成都周边‘: ‘成都周边‘
           ‘都江堰‘: ‘都江堰‘
           ‘双流‘: ‘双流区‘
           ‘温江‘: ‘温江‘
           ‘新都‘: ‘新都‘
           ‘龙泉驿‘: ‘龙泉驿‘
           ‘金牛‘: ‘金牛区‘
           ‘高新西区‘: ‘高新西区‘
           “武侯“: ‘武侯区‘
           ‘成华‘: ‘成华区‘
           ‘青羊‘: ‘青羊区‘
           ‘锦江‘: ‘锦江区‘
           ‘高新区‘: ‘高新区‘
           ‘天府新区‘: ‘天府新区‘}
print(‘-----增加一列地区2存储地区信息-----‘)
data[‘地区2‘] = data[‘地区‘].map(parties)
print(“data[‘地区2‘].value_counts():\n“ data[‘地区2‘].value_counts())  # 查看两个党派的情况

# 结局matplotlib图标无法显示中文的情况
from pylab import mpl

mpl.rcParams[‘font.sans-serif‘] = [‘FangSong‘]  # 指定默认字体  # 调节matplotlib支持中文字体
mpl.rcParams[‘axes.unicode_minus‘] = False  # 解决保存图像是负号‘-‘显示为方块的问题

# 数据离散化 单价
bins1 = np.array([0 5000 10000 15000 20000 25000 30000 55000])
data_ls1 = pd.cut(data[‘单价/每平米‘] bins1)  # bins1离散化数组 data_ls1 离散化数据

# 数据离散化 总价
bins2 = np.array([0 40 80 150 250 500 2000])
data_ls2 = pd.cut(data[‘总价/万‘] bins2)  # bins2离散化数组 data_ls2 离散化数据

# 数据离散化 面积
bins3 = np.array([0 50 75 100 125 150 175 200 300 1500])
data_ls3 = pd.cut(data[‘面积/平方米‘] bins3)  # bins3离散化数组 data_ls3 离散化数据

# 数据透视表  # 不太清楚为什么需要增加一列 维度才会正常
# 使用数据透视表方法pivot_table 需要计算的列明 柱状图下标     离散化数据区间      聚合函数 统计
table = data.pivot_table(‘面积/平方米‘ index=‘地区‘ columns=data_ls1 aggfunc=‘count‘)
table.plot(kind=‘bar‘ stacked=True)  # 表数据画图 bar柱状图 stacked重叠 开
plt.show()

table2 = data.pivot_table(‘总价/万‘ index=‘地区‘ columns=data_ls2 aggfunc=‘count‘)
table2.plot(kind=‘bar‘ stacked=True)
plt.show()

table3 = data.pivot_table(‘面积/平方米‘ index=‘地区‘ columns=data_ls3 aggfunc=‘count‘)
table3.plot(kind=‘bar‘ stacked=True)
plt.show()

count1 = data[‘地区‘].value_counts()
plt.axes(aspect=1)  # 画一个单位圆
plt.pie(x=dict(count1).values() labels=dict(count1).keys() autopct=‘%3.1f %%‘ shadow=True startangle=90)
plt.show()

list_dq = [‘郫县‘ ‘成都‘ ‘成都周边‘ ‘都江堰‘ ‘双流‘ ‘温江‘ ‘新都‘ ‘龙泉驿‘ ‘金牛‘ ‘高新西区‘ ‘武侯‘ ‘成华‘ ‘青羊‘ ‘锦江‘ ‘高新区‘ ‘天府新区‘]

for i in list_dq:
    pr

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2514  2018-09-25 18:23  爬虫文件\home_money.py

     文件     101376  2018-09-25 18:09  爬虫文件\message.txt

     文件      67653  2018-09-16 12:35  分析画图文件\58.csv

     文件       4245  2018-09-17 17:07  分析画图文件\house_prices_58_2.py

     文件      28396  2018-09-25 18:33  数据简单处理成品\Figure_1.png

     文件      26557  2018-09-25 18:33  数据简单处理成品\Figure_2.png

     文件      30248  2018-09-25 18:33  数据简单处理成品\Figure_3.png

     文件      51770  2018-09-25 18:33  数据简单处理成品\Figure_4.png

     目录          0  2018-09-25 18:24  爬虫文件

     目录          0  2018-09-25 18:32  分析画图文件

     目录          0  2018-09-25 18:35  数据简单处理成品

----------- ---------  ---------- -----  ----

               312759                    11


评论

共有 条评论