Python作为当前主流的语言之一,他的功能是非常强大的。不论是在游戏行业还是数据分析行业还是软件开发啥的好像都可以用python,但作为一个数据分析师,并不需要用到他的全部功能。
只是想要达到“能够用python完成数据分析工作”的效果来帮助公司的实习生,所以整理了这个随笔。
一、数据导入
数据的导入是进行数据分析的第一步骤,一般提取的数据由文本格式(txt)、表格格式(csv/excel)及数据库文件(dmp/直连)。
(1)导入csv
因为我个人习惯了r的相关数据结构和操作,所以我用pandas导入csv数据,可以直接导入DataFrame类型的数据。这种方法更接近R的操作方法,导入的数据类型也更便于操作。
# -*- coding: utf-8 -*- import pandas as pd data=pd.read_csv(open('d:/data/datafile.csv')) print(data.head(10))
很简单,第一行读库,第二行导入,第三行查看样例数据。
(2)导入txt
这个我不常用。在网上找了一下:
1 data2 = open('E:\data\datafile.txt') 2 s=data2.read()
(3)连接数据库
大数据嘛,当然是连接数据库咯
#-*- coding:utf-8 -*- import numpy as np import pandas as pd import matplotlib.pylab as plt import mysql.connector conn = mysql.connector.connect(host='localhost', user='root', passwd='123456', db='python')#链接本地数据库 sql = 'select * from taob'#sql语句 data = pd.read_sql(sql,conn)#获取数据 print(data.describe())
(4)读取excel
备注:excel可以读中文,csv默认不行,要指定编码
# -*- coding: utf-8 -*- import pandas as pd from datetime import date,datetime def read_dataFrame(fileName,sheetName ='' ): print('File:',end='') print(fileName) print('Sheet:',end='') print(sheetName) df = pd.read_excel(io=fileName, sheet_name=sheetName, header=0, skiprows=None, skip_footer=0, index_col=None, names=None, usecols=None, parse_dates=False, date_parser=None, na_values=None, thousands=None, convert_float=True, converters=None, dtype=None, true_values=None, false_values=None, engine=None, squeeze=False) df = append_dataFrame(df) path = 'C://input//' fileName = path+'input.xlsx' data = read_dataFrame(fileName,'sheet1'
二、数据理解
为得到更准确的结果,必须理解数据的特征、分布情况,以及需要解决的问题,以便建立和优化算法模型。导入数据后,除了查看样例数据,还要对数据分布和特征进行基本的理解。
基本的数据理解,包括数据样例、数据行数和列数、字段类型、描述统计、分类指标分布概况、相关矩阵、高斯分布检验之类的。
1 print(data.head(10))#显示data的前十行 2 print(data.shape)#显示data的行数和列数 3 print(data.dtypes)#显示data的各字段的数据类型 4 print(data.describe())#进行data的各字段的描述性统计 5 print(data.groupby('colname1').size())#统计data的1字段每一类指标有多少记录 6 print(data.corr(method='pearson'))#计算data的各字段相关性矩阵 7 print(data.skew())#data的高斯分布检验,其大小表示左偏和右偏,接近0为偏差小
看起来是一行一个操作,真的是很简洁。
在这个过程,要注意发现和思考问题,特别是灵光一闪的解决方案要记下来,对后续的问题有较大的参考价值。
三、可视化
为了生成最优化的算法模型,必须对数据进行理解。最快、最有效的方法就是通过图形来加强对数据的理解。
单一图表可以直观地展示数据的分布,一般使用直方图、密度图和箱线图进行展示。这三种图实际上是展示了相似的内容,直方图可以看数据分布的分段分布图,密度图可以看数据分布的抽象分布图,箱线图可以看数据分布的统计情况。
对我而言,这三个图基本能解决所有的问题。当然python也肯定有些花里胡哨的图形功能,需要的时候再查一下。
(1)直方图
直方图又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据的分布情况。一般用横轴表示数据类型,纵轴表示分布情况。可以用来只管展示每个变量的分布状况,通过图表可以直观地看到数据是高斯分布、指数分布还是偏态分布。
1 import matplotlib.pyplot as plt 2 data.hist()#直方图 3 plt.show()#绘图
(2)密度图
密度图是一种表现与数据值对应的边界或域对象的图形表示方法,一般用于展现连续变量的分布情况。密度图像类似直方图的抽象表示,用的是平滑的线来描述数据的方法。这也是一种用来展示数据分布的图表。
1 import matplotlib.pyplot as plt 2 data.plot(kind='density',subplots=True,layout=(3,3),sharex=False)#3x3的密度图 3 plt.show()#绘图
(3)箱线图
箱线图是一种用于显示一组数据分散情况的统计图,用于显示数据分布状态。几条横线分别是上边缘、上四分位数、中位数、下四分位数、下边缘,横线为数据的伸展情况,游离边缘线之外的点为异常值。
1 import matplotlib.pyplot as plt 2 data.plot(kind='box',subplots=True,layout=(3,3),sharex=False)#3x3的箱线图 3 plt.show()#绘图
(4)散点矩阵图
花里胡哨的,但是对线性回归好用。
该图表示因变量随自变量变化的大致趋势,据此可以选择合适的函数进行拟合。同时考察多个变量的相关关系,对于进行多元线性回归尤为重要。
1 from pandas.plotting import scatter_matrix 2 scatter_matrix(data) 3 plt.show()
最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【
保证100%免费
】