python数据分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

pandas统计分析基础实训

  • 实训1 读取并查看某地区房屋销售数据的基本信息
    • 1. 训练要点
    • 2. 需求说明
    • 3.实现思路及步骤
  • 实训2 提取房屋售出时间信息并描述房屋价格信息
    • 1. 训练要点
    • 2. 需求说明
    • 3. 实现思路及步骤
  • 实训3 使用分组聚合方法分析房屋销售情况
    • 1. 训练要点
    • 2. 需求说明
    • 3. 实现思路及步骤
  • 实训4 分析房屋地区、配套房间数和房屋价格的关系
    • 1. 训练要点
    • 2. 需求说明
    • 3. 实现思路及步骤


实训1 读取并查看某地区房屋销售数据的基本信息

1. 训练要点

(1)掌握CSV文件数据的读取方法
(2)掌握DataFrame的常用属性和方法
(3)掌握DataFrame的索引和切片操作

2. 需求说明

“居”是民生的重要组成部分,也是百姓幸福生活的重要保障。为了增进民生福祉,提高人民生活品质,对房地产市场进行精准调控决策,现需分析和统计某地区房屋销售数据。该地区房屋销售数据主要存放了房屋售出时间、地区邮编、房屋价格、房屋类型和配套房间数5个特征,部分数据如表 3-24 所示,其中房屋类型有普通住宅 (house)和单身公寓(unit)两种。探索数据的基本信息,通过索引操作查询到房屋类型为单身公寓的数据,同时观察数据的整体分布并发现数据间的关联。注意,地区邮编特征已完成脱敏处理,因此只存在 4位数。
在这里插入图片描述

3.实现思路及步骤

代码如下(示例):

# 1、使用read_csv函数读取“某地区房屋销售数据.csv”文件,创建DataFrame对象housesale
import pandas as pd
housesale=pd.read_csv('某地区房屋销售数据.csv',encoding='gbk')
print(housesale)
# 2、使用ndim、shape、columns属性分别查看数据的维度、形状以及所有特征名称
print(housesale.ndim)
print(housesale.shape)
print(housesale.columns)
# 3.使用iloc()loc()方法对房屋类型为单身公寓(unit)的数据进行查询
housesale.loc[housesale['房屋类型']=='unit']
housesale.iloc[(housesale['房屋类型']=='unit').values,:]

实训2 提取房屋售出时间信息并描述房屋价格信息

1. 训练要点

(1)掌握时间字符串和标准时间的转换方法
(2)掌握 pandas 描述性统计方法

2. 需求说明

基于实训 1的数据,在房屋售出时间特征中存在时间数据,提取时间数据内存在的有用信息,如将“2010/1/4 0:00”转换成“2010-1-4”的形式。对时间信息的提取一方面可以加深房产销售经理对数据的理解,另一方面能够去除无意义的时间信息。此外,还可通过描述性统计分析该地区房屋的平均价格、价格区间、价格众数等,便于进一步获取该地区房屋价格信息。

3. 实现思路及步骤

# 4.使用to_datetime函数转换房屋出售时间字符串
housesale["房屋出售时间"]=pd.to_datetime(housesale["房屋出售时间"])
housesale.dtypes
# pandas描述性统计方法
# 5.使用mean、max、min、mode函数分别计算该地区房屋价格的均值、最大值、最小值和众数
print(housesale['房屋价格'].mean())
print(housesale['房屋价格'].max())
print(housesale['房屋价格'].min())
print(housesale['房屋价格'].mode())
# 使用quantile函数计算该地区房屋价格的分位数
print(housesale[['房屋价格']].quantile(.25))
print(housesale[['房屋价格']].quantile(.5))
print(housesale[['房屋价格']].quantile(.75))
# 6.使用describe()方法计算房屋价格数据的非空值数目、均值等统计量
housesale['房屋价格'].describe()

实训3 使用分组聚合方法分析房屋销售情况

1. 训练要点

(1)掌握分组聚合的步骤
(2)掌握 groupby0的使用方法。
(3)掌握 transform0、agg0、apply0聚合方法

2. 需求说明

为了解买房者购买房屋的类型喜好,需要根据房屋所在的地理位置进行分组聚合,然后进行组内和组间分析,从而为买房者提供更好的服务。基于实训 1 的数据,提取地区邮编特征中数据的前两位,如提取“2615”中的“26”,并生成 new_postcode 特征存储提取的内容,其目的是便于统计不同地区房屋价格以及房屋性价比。最后根据 new postcode 特征对数据进行分组操作,从而获取不同地区的房屋价格信息并进行比较。

3. 实现思路及步骤

# 7.使用apply()方法提取地区邮编特征中数据的前两位,如提取“2615”中的“26”,并新增new_postcode特征存储提取的内容
housesale['new_postcode']=housesale['地区邮编'].apply(lambda x :str(x)[0:2])
housesale
# 8.根据新地区邮编new_postcode进行分组,使用count函数计算出每个地区的房屋售出总数
group=housesale.groupby(by='new_postcode')
group['new_postcode'].agg('count')
# 9.使用groupby()方法对房屋类型进行分组
housesale1=housesale.groupby(by='房屋类型')
housesale1
# 10.根据房屋类型进行分组,使用transform()方法计算分组数据中房屋价格均值
housesale1['房屋价格'].transform('mean')

实训4 分析房屋地区、配套房间数和房屋价格的关系

1. 训练要点

(1)掌握透视表的制作方法
(2)掌握交叉表的制作方法

2. 需求说明

通过实训 1~3中对数据进行描述性统计、对时间数据进行信息提取和分组聚合操作已获得了相当多的信息。基于实训 1 的数据,如果需要获取更多的房屋价格信息,那么可以使用透视表和交叉表来实现。例如,比较不同地区和不同配套房间数的房屋价格、分析不同地区哪种类型的房屋价格最贵、比较不同类型房屋和不同配套房间数的房屋的价格和分析配有多少房间数的房屋最畅销等。

3. 实现思路及步骤

# 11. 使用pivot_table()函数创建数据透视表 
# 比较不同地区和不同配套房间数的房屋价格
import numpy as np
housesalePivot1=pd.pivot_table(housesale[['new_postcode','配套房间数','房屋价格']],index=['new_postcode','配套房间数'],aggfunc=np.mean)
housesalePivot1
# 分析不同地区那种类型的房屋价格最贵
housesalePivot1=pd.pivot_table(housesale[['new_postcode','房屋类型','房屋价格']],index=['new_postcode','房屋类型'],aggfunc=np.max)
housesalePivot1
# 12.使用crosstab函数创建数据交叉表
# 比较不同类型房屋和不同配套房间数的房屋价格
housesaleCross1 = pd.crosstab(index=housesale['房屋类型'],columns=housesale['配套房间数'],values=housesale['房屋价格'],aggfunc=np.mean)
housesaleCross1
# 分析配有多少房间数的房屋最畅销
# typehouseSale=housesale.groupby(by='房屋类型')
housesaleCross2 = pd.crosstab(index=housesale['房屋类型'],columns=housesale['配套房间数'])
housesaleCross2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构 图的广度优先搜索和深度优先搜索

一、广度优先搜索 广度优先搜索等价于树的层次遍历,将起点的每一层进行遍历 当这一层结点全部被遍历完时,再遍历下一层次,从图中可以根据距离遍历起点的长度进行层次选择 例: 以a结点作为开始结点 a的下一层次有b c e三个结点 所以…

nginx 一键切换停机维护页面 —— 筑梦之路

背景说明 进行停机维护或者系统升级等操作,会影响到用户使用,如果停机维护期间用户未看到停机维护的通知,仍去访问系统,会提示默认不太友好的访问错误界面 ,这时如果在维护的时候直接展示停机公告的具体信息&#xff0…

Spark Structured Streaming使用教程

文章目录 1、输入数据源2、输出模式3、sink输出结果4、时间窗口4.1、时间窗口4.2、时间水印(Watermarking) 5、使用例子 Structured Streaming是一个基于Spark SQL引擎的可扩展和容错流处理引擎,Spark SQL引擎将负责增量和连续地运行它&#…

Spring Security 自定义异常失效?从源码分析到解决方案

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

JAVA 企业面试题

JAVA 企业面试题 面试题集 面试题集共分为以下十部分: 一、 Core Java: 1 — 95 题 1 — 24 页 基础及语法: 1 — 61 题 1 — 13 页 异常: 62 — 69 题 13 — 15 页 集合: 70 — 80 题 15 — 18 页 线程&#xff1a…

使用阿里巴巴同步工具DataX实现Mysql与ElasticSearch(ES)数据同步

一、Linux环境要求 二、准备工作 2.1 Linux安装jdk 2.2 linux安装python 2.3 下载DataX: 三、DataX压缩包导入,解压缩 四、编写同步Job 五、执行Job 六、定时更新 6.1 创建定时任务 6.2 提交定时任务 6.3 查看定时任务 七、增量更新思路 一、Linux环境要…

微信小程序js数组对象根据某个字段排序

一、排序栗子 注: 属性字段需要进行转换,如String类型或者Number类型 //升序排序 首元素(element1)在前 降序则(element1)元素在后 data data.sort((element1, element2) >element1.属性 - element2.属性 ); 二、代码 Page({/*** 页面的初始数据*/data: {user:…

每日一练 | 华为认证真题练习Day144

1、DHCPv6无状态自动分配方案中,主机不需要发送任何DHCPv6报文。 A. 对 B. 错 2、IPv4最后一个选项字段(option)是可变长的可选信息,该字段最大长度为? A. 40B B. 20B C. 60B D. 10B 3、关于ARP协议的作用和报文…

SpringSecurity安全授权

目录 前言 正文 1.基本流程 2.基本用法 3.配置项 4.HttpSecurity 方式和内存认证方式 5.认证流程 6.基于数据库查询的登录验证 7.多种角色权限认证 8.自定义权限认证 总结 前言 安全对于任何系统来说都是非常重要的,权限的分配和管理一直都是开发者需…

C语言——输出菱形

法一&#xff1a; #include<stdio.h> #define N 7 //假设输出7层菱形 int main(){int i;//i控制第几行 int j;//j控制每一行空格的循环个数 int k;//k控制每一行*的循环次数 for(i1;i<4;i){//将图形分为两部分,前四行(第一部分) for(j1;j<4-i;j){//输出第i行的…

echarts双折线图

引用 //反应时长 durationCharts categoryCommonChart(studyBehavior.durationCharts, durationCharts) function categoryCommonChart(odata, dom){var myChart echarts.init(document.getElementById(dom));let oarr []oarr odata.series.map(function(item){let color…

随笔-这都是命吗

我与鹏哥、小付有个小群&#xff0c;前几天&#xff0c;鹏哥在群里发了一个图&#xff0c;是他那个城市准备扶持的高新产业&#xff0c;有元宇宙、量子信息、生物制药、人工智能什么的。 先前的时候鹏哥给我说过&#xff0c;当地准备了六百多亩地&#xff0c;准备发展高新产业…

Linux-进程之间的通信

目录 ​编辑 一.什么是进程之间的通信 二.进程之间的通信所访问的数据 三.进程之间的通信是如何做到的 四.基于内存文件级别的通信方式——管道 1.什么是管道 2.管道的建立过程——匿名管道 a.什么是匿名管道 b.匿名管道特点&#xff1a; c.使用匿名管道的…

风格迁移网络修改流程(自用版)

一. AdaAttN-Revisit Attention Mechanism in Arbitrary Neural Style Transfer&#xff08;ICCV2021&#xff09; 下载vgg_normalised.pth打开visdom python -m visdom.server在 train_adaattn.sh 中配置 content_path、style_path 和 image_encoder_path&#xff0c;分别表…

固态硬盘速度测试:硬盘实际性能是否符合标准?

在进行固态硬盘速度测试之前我们先来了解一下固态硬盘的读写速度是什么。固态硬盘的读写速度主要分为顺序读写和随机读写&#xff08;4K&#xff09;。 ​顺序读写&#xff1a;指的是硬盘在读写连贯、集中大文件时候的速度。比如在读取、拷贝单个视频文件时&#xff0c;就是硬盘…

剑指YOLOv5独家最新改进(全网无重复)《感知聚合SERDetect检测头》高效涨点,即插即用|检测头新颖改进

💡本篇内容:YOLOv5独家最新改进《感知聚合SERDetect检测头》高效涨点,即插即用|检测头新颖改进 💡🚀🚀🚀本博客 YOLO系列 + 感知聚合SERDetect检测头 改进创新点改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 💡附改进源代码及教程,适合用来…

【项目问题解决】IDEA2020.3 使用 lombok 插件 java: 找不到符号 符号: 方法 builder()

目录 lombok找不到符号问题修改 1.问题描述2.问题原因3.解决思路4.解决方案5.总结6.参考 文章所属专区 项目问题解决 1.问题描述 IDEA2020.3 使用 lombok 插件 java: 找不到符号 符号: 方法 builder()&#xff0c;无法使用lombok下应有的注解&#xff0c;一度怀疑是版本问题 …

【cc++】volatile关键字的作用

​​volatile​​描述 ​​volatile​​ 是C和C都支持的一个关键字&#xff0c;是一种类型修饰符。这个关键字被设计用来告诉编译器&#xff0c;一个变量可能会在程序之外被改变&#xff0c;例如&#xff0c;它可能被中断服务程序修改&#xff0c;或者它可能映射到一个硬件寄存…

使用Inno Setup 打包程序文件 怎么把其中一个文件安装时复制到指定系统文件夹

环境: Inno Setup 6.6 Win10 专业版 问题描述: 使用Inno Setup 打包程序文件 怎么把其中一个文件安装时复制到指定系统文件夹 将文件api-ms-win-shcore-scaling-l1-1-1.dll复制到system32里面 解决方案: 1.由于安全和权限的限制,直接在Inno Setup脚本中复制文件到C:\…

C++新经典模板与泛型编程:用成员函数重载实现std::is_class

用成员函数重载实现is_class std::is_class功能&#xff0c;是一个C11标准中用于判断某个类型是否为一个类类型&#xff08;但不是联合类型&#xff09;的类模板。当时在讲解的时候并没有涉及std::is_class的实现代码&#xff0c;在这里实现一下。简单地书写一个IsClass类模板…