前言
python大量的库为数据分析提供了完整的工具集。python拥有numpy、matplotlib、scikit-learn、pandas、ipython等工具在科学计算方面十分有优势,尤其是pandas,在处理中型数据方面可以说有着无与伦比的优势,已经成为数据分析中流砥柱的分析工具
python数据分析优势
Python语言得益于它的简单方便,使得其在大数据、数据分析以及人工智能方面都有十分明显的存在感,对于数据分析从业者以及想要进入数据分析行业的人来说,简单易学容易上手的优势也是一个优势。
python数据分析步骤
(1)数据抽取
(2)数据加载
(3)数据处理
(4)数据可视化
(5)预测模型的创建和评估
(6)部署(得出结果)
如何用Python进行数据分析
一、理解数据
首先导入excel文件
#导入excel文件
fileNameStr="朝阳医院2018年销售数据.xlsx"
xls=pd.ExcelFile(fileNameStr)
salesDf=xls.parse('Sheet1')
查看数据的基本信息
salesDf.head(3)
salesDf.shape
二、清洗数据
1.选择子集
#数据清洗
#一、选择子集
subsalesDf=salesDf.loc[:,'销售时间':'销售数量']
subsalesDf
选择子集
2.列名重命名
#二、列名重命名
colNameDict={'购药时间':'销售时间'} #构建一个旧列名和新列名对应关系的字典
salesDf.rename(columns=colNameDict,inplace=True) #inplace为True直接在源数据框中进行修改
salesDf
3.缺失值处理
#三、缺失值处理
print("含缺失值:",salesDf.shape)
salesDf=salesDf.dropna(subset=['销售时间','社保卡号'])
print("去掉缺失值后:",salesDf.shape)
缺失值处理
4.数据类型转换
#四、数据类型转换
salesDf['销售数量']=salesDf['销售数量'].astype(float)
salesDf['应收金额']=salesDf['应收金额'].astype(float)
salesDf['实收金额']=salesDf['实收金额'].astype(float)
salesDf['社保卡号']=salesDf['社保卡号'].astype(object)
salesDf['商品编码']=salesDf['商品编码'].astype(object)
print('转换后的数据类型',salesDf.dtypes)
#时间格式转换
#定义数据分割函数,分割字符串之前要先去重
def splitSalesTime(timecolList):
timeList=[] # timeList[]
for value in timecolList: # timecolList[]
strDate=value.split(' ')[0]
timeList.append(strDate) # timeList[].append(strDate)
timeSer=pd.Series(timeList) # timeSer=pd.Series(timeList[])
return timeSer
timeSer=salesDf.loc[:,'销售时间']
dateSer=splitSalesTime(timeSer)
print(dateSer)
salesDf.loc[:,'销售时间']=dateSer
#将字符串类型转化为日期类型
salesDf.loc[:,'销售时间']=pd.to_datetime(salesDf.loc[:,'销售时间'],format='%Y-%m-%d',errors='coerce')
salesDf.dtypes
数据类型转换
5.数据排序
#五、数据排序
salesDf=salesDf.sort_values(by='销售时间',ascending=True,na_position='first')
salesDf=salesDf.dropna(subset=['销售时间'])
salesDf=salesDf.reset_index(drop=True) # 重新设置索引
salesDf
数据排序
6.异常值处理
salesDf.describe()
queryDf=salesDf.loc[:,'销售数量']>0
salesDf=salesDf.loc[queryDf,:]
salesDf.describe()
异常值处理
三、数据建模
业务指标1:月均消费次数
#业务指标1:月均消费次数,总消费次数//月份数
#总消费次数:同一天内,同一个人发生的所有消费算作一次消费
kpil_Df=salesDf.drop_duplicates(subset=['销售时间','社保卡号']) #删除重复数据
total=kpil_Df.shape[0]
#月份数:时间范围//30=月份
kpil_Df=kpil_Df.sort_values(by='销售时间',ascending=True)
kpil_Df=kpil_Df.reset_index(drop=True)
kpil_Df
#时间范围
startTime=kpil_Df.loc[0,'销售时间']
endTime=kpil_Df.loc[total-1,'销售时间']
day=(endTime-startTime).days
month=day//30
month
kpi1=total//month
kpi1
等等..........
知道你对python数据分析感兴趣,所以给你准备了下面的资料~
这份完整版的Python全套学习资料已经上传,朋友们如果需要可以点击链接免费领取或者滑到最后扫描二v码保证100%免费
】
python学习资源免费分享,保证100%免费!!!
需要的话可以点击这里👉Python学习路线(2023修正版)附涉及资料 (安全链接,放心点击)
文末有福利领取哦~
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、精品Python学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、Python练习题
检查学习结果。
七、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】Python学习路线(2023修正版)附涉及资料《Python学习资料》,已经打包好了,自取【ps:需要领取的资料(请备注清楚,查找与发送给你)】。因链接常https://mp.weixin.qq.com/s/UVxw0daFCgAMFhz9cfrjAQ