用python进行数据分析(一:数据理解)
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 pdfrom datetime import date,datetimedef 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')
--------------------- 原文:https://blog.csdn.net/flora_zhl/article/details/80269604
二、数据理解
为得到更准确的结果,必须理解数据的特征、分布情况,以及需要解决的问题,以便建立和优化算法模型。导入数据后,除了查看样例数据,还要对数据分布和特征进行基本的理解。
基本的数据理解,包括数据样例、数据行数和列数、字段类型、描述统计、分类指标分布概况、相关矩阵、高斯分布检验之类的。
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()
转载于:https://www.cnblogs.com/shilo930/p/10929390.html
用python进行数据分析(一:数据理解)相关推荐
- python录入数据至ppt_利用Python进行数据分析之 数据加载.ppt
利用Python进行数据分析之 数据加载 " " " " 数据加载,存储与文件格式 1,读写文本格式数据: (read_csv,read_table,read_ ...
- 利用Python进行数据分析:数据规整(基于DataFrame)
利用Python进行数据分析:数据规整 在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 文章目录 利用Python进行数据分析:数据 ...
- Python探索性数据分析——异常数据的检测与处理、数据的描述(集中、分散、分布、相关关系、波动)、数据的推断(正态性检验、卡方检验、t检验)
目录 一.异常数据的检测与处理 1.异常数据检测与处理-基于箱线图 2.异常数据检测与处理-基于正态分布特征 二.数据的描述 1.数据的集中趋势 1.1.数据的集中趋势-平均值 1.1.1.算数平均值 ...
- 利用python进入数据分析之数据规整化:清理、转换、合并、重塑(二)
数据转换 移除重复数据 In [106]: data = DataFrame({'k1': ['one'] * 3 + ['two'] * 4,'k2': [1, 1, 2, 3, 3, 4, 4]} ...
- python与excel做数据可视化-我在工作中是怎么玩数据的—数据可视化系列教程—Python篇...
一. 为什么是Python? Python现在已经成为数据科学的语言!基于 Python 代码实现批量化,流程化的数据探索与汇报!按照地产大佬***的话讲--就是重复性的工作直接用Python搞定就可 ...
- python分析excel数据-总结:像Excel一样使用python进行数据分析
Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...
- 数据基础---《利用Python进行数据分析·第2版》第8章 数据规整:聚合、合并和重塑
之前自己对于numpy和pandas是要用的时候东学一点西一点,直到看到<利用Python进行数据分析·第2版>,觉得只看这一篇就够了.非常感谢原博主的翻译和分享. 在许多应用中,数据可能 ...
- 数据基础---《利用Python进行数据分析·第2版》第11章 时间序列
之前自己对于numpy和pandas是要用的时候东学一点西一点,直到看到<利用Python进行数据分析·第2版>,觉得只看这一篇就够了.非常感谢原博主的翻译和分享. 时间序列(time s ...
- 数据基础---《利用Python进行数据分析·第2版》第7章 数据清洗和准备
之前自己对于numpy和pandas是要用的时候东学一点西一点,直到看到<利用Python进行数据分析·第2版>,觉得只看这一篇就够了.非常感谢原博主的翻译和分享. 在数据分析和建模的过程 ...
- python海量数据分析师_数据分析师真的月入过万吗?(基于Python的招聘数据分析全流程实操)...
0 前言 作为一名数据分析小白,经过一轮融汇贯穿学习后,也迫不及待想做一份数据分析报告,于是选取了现阶段最感兴趣的数据分析相关岗位招聘信息进行一波数据分析. 1 理解问题确定分析的目的和方向 因为目前 ...
最新文章
- 43 JavaScript中的浅拷贝与深拷贝
- cm 怎么限制hue数据下载_0724-6.2.0-CM接管rpm方式安装的无CM的CDH集群-2
- Mysql数据类型(二)
- java 内存详解_Java内存详解
- 在VS.NET中使用clickonce技术开发Winform程序
- 17.C#类型判断和重载决策(九章9.4)
- UDP打洞程序包的源码
- 前台关于跨域的警告A cookie associated with a cross-site resource at .........,代理服务器
- 解决这个警告⚠️:warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory...
- linux显卡驱动未加载,Linux下无显卡驱动的解决办法
- PHP关闭$_ENV后获取服务器参数的办法
- [转载] python接口测试:封装get和post请求+重新封装requests类
- SQL批量更新 关系表更新
- 做真正Hacker 的乐趣──自己动手去实践
- 【交通流预测】基于matlab BP神经网络短时交通流预测【含Matlab源码 687期】
- 64位Linux下安装iNode客户端
- 发了两个月传单,他转行做了程序员
- XAMPP下载速度太慢了
- 房屋租赁管理系统API
- IEduChina2019国际学校展暨国际教育论坛温暖深圳
热门文章
- java.lang.NoSuchMethodError: com.xxx.xxx.xxx.po.xxxPo.setXXX(D)V
- 虚拟机无法重启服务器,windows2019虚拟机管理服务无法启动
- 同步机制应遵循的准则
- 设计模式——设计模式中英文对照
- 1024,20个入行故事,浮世中见证着程序员的奋斗
- 小程序 打开地图导航
- Windows_XP SP3 Profession 正版密钥
- python输入的光标变成了横线_光标变成下划线
- ML-Agents 安装配置 【ML-Agents 官方文档翻译(ML-Agent 1.9.1,Unity 2018-2020)】
- 点我—— ASP.NETCORE 安装CentOS