一、python数据分析概述
Python 数据分析是指使用 Python 编程语言进行数据挖掘和数据分析的过程。Python 语言因其易学、易用、灵活、强大的数据处理能力和良好的可视化效果而被广泛用于数据分析领域。
(1)Python 数据分析可以分为以下几个方面:
1、数据清洗和预处理:这是数据分析的第一步,包括数据清理、缺失值处理、重复数据处理、异常数据处理、数据采样等。
2、数据分析和可视化:这是数据分析的核心步骤,包括统计分析、数据建模、机器学习、数据可视化等。
3、数据库操作:Python 可以连接多种数据库,对数据库进行查询、插入、更新、删除等操作。
4、数据分析框架:Python 有多种流行的数据分析框架,如 NumPy、pandas、SciPy、Scikit-learn、TensorFlow 等。
5、Web 数据抓取:Python 可以使用 urllib、requests 等库进行数据抓取,可以爬取并处理 HTML、JSON、XML 等格式的数据。
总之,通过 Python 数据分析,可以处理、分析和可视化各种数据,并将数据转化为可供决策的信息,帮助决策者做出更加明智的决策。
(2)Python 数据分析主要包含以下 5 个方面优势
- 语法简单精练。对于初学者来说,比起其他编程语言,Python更容易上手。
- 有很强大的库。可以只使用Python这一种语言去构建以数据为中心的应用程序。
- 功能强大。Python是一个混合体,丰富的工具集使它介于传统的脚本语言和系统语言之间。Python不仅具备所有脚本语言简单和易用的特点,还提供了编译语言所具有的高级软件工程工具。
- 不仅适用于研究和原型构建,同时也适用于构建生产系统。研究人员和工程技术人员使用同一种编程工具,会给企业带来非常显著的组织效益,并降低企业的运营成本。
- Python是一门胶水语言。Python程序能够以多种方式轻易地与其他语言的组件“粘接”在一起。
(3)Python数据分析常用类库
1、IPython——科学计算标准工具集的组成部分
2、NumPy(Numerical Python)—— Python 科学计算的基础包
3、SciPy——专门解决科学计算中各种标准问题域的模块的集合
4、Pandas——数据分析核心库
5、Matplotlib——绘制数据图表的 Python 库
6、scikit-learn——数据挖掘和数据分析工具
7、Spyder——交互式 Python 语言开发环境
(1)读取并查看某地区房屋销售数据的基本信息
实训要点
(1)掌握CSV文件数据的读取方法。
(2)掌握DataFrame的常用属性和方法。
(3)掌握DataFrame的索引和切片操作
#导入pandns,numpy库。
import pandas as pd
import numpy as np
(1.1)使用read_csv函数读取某地区房屋销售数据.csv文件。
read_csv函数读取
data=pd.read_csv('C:/Users/admin/Desktop/某地区房屋销售数据.csv',encoding='gbk')
#查看前五行
data.head(5)
(1.2)使用ndim、shape、columns属性分别查看数据的维度、形状、以及所有特征名称。
data.ndim
data.shape
data.columns
(1.3)使用iloc()方法、loc()方法对房屋类型为单身公寓的数据进行索引操作。
#房屋类型里有什么取值
data['房屋类型'].value_counts()
#先用iloc()切片
data.iloc[(data['房屋类型']=='unit').values,:]
#使用loc()
data.loc[data['房屋类型']=='unit']
提取房屋出售时间信息并描述房屋价格信息
(2.1)掌握时间字符串和标准时间的转换方法
1、使用to_datetime函数转化房屋出售时间字符串
显示信息
data.info()
to_datetime
data['房屋出售时间']= pd.to_datetime(data['房屋出售时间'])
dtype数据类型
data['房屋出售时间'].dtype
(2.2)使用mean,max,min,modo函数分辨计算该地区房屋的均值,最大值,最小值和众数,使用quantile函数计算该地区房屋价格的分数值
mean()
均值
data['房屋价格'].mean()
max()
最大值
data['房屋价格'].max()
min()
最小值
data['房屋价格'].min()
modo()
众数
data['房屋价格'].mode()
quantile()
分数值
#查看上四分位数
data['房屋价格'].quantile(0.25)
#查看上中位位数
data['房屋价格'].quantile(0.5)
(2.3)使用使用describe()计算出房屋价格数据的非空数目、均值等统计量。
使用describe()
data.describe()
3使用分组聚合方法分析房屋销售情况。
(3.1)使用apply()方法生成new_postcode特征。
#查看邮政编码数据类型
apply()方法生成new_postcode特征。
data['new_postcode']=data['地区邮编'].apply(lambda x:(x/100)//1)
#查看数据前两行
data.head(2)
(3.2)使用agg()方法和count函数计算出每个地区的房屋销售总数
agg()方法和count函数
data[['new_postcode']].groupby(by='new_postcode').agg({'new_postcode':'count'})
data[['new_postcode']].value_counts()
(3.3)使用groupby()方法对房屋类型propertyType进行分组,并对新地区邮编new_postcode进行分组后赋值给新的数据框housesale1。
housesalel=data.groupby(by=['房屋类型','new_postcode'])
housesalel
(3.4)、使用transform()聚合方法和mean函数计算housesalel中房屋价格的均值
transform()聚合方法和mean函数
housesalel['房屋价格'].transform('mean')