数据分析
文章平均质量分 91
墙角的秋天
这个作者很懒,什么都没留下…
展开
-
使用python matplotlib库绘制不同图标类型
绘制线性图需要创建两个numpy数组,包含x为横坐标,纵坐标即为函数或者自己定义的数组。 我们以函数y=sin(3x)/x 为例。x = np.arange(-2*np.pi,2*np.pi,0.01)#定义横轴范围y = np.sin(3*x)/x#函数y2 = np.sin(2*x)/xy3 = np.sin(x)/xplt.plot(x,y)#绘制,matplotlib默认展示不同的原创 2017-12-07 21:01:19 · 2226 阅读 · 0 评论 -
mysql单表高级查询基础
1.聚合函数1.1 count()函数统计记录的条数。select count(*) from student;1.2 sum()函数某个字段所有值的总和。select sum(grade) from student;1.3 avg()函数某个字段的所有值的平均值。select avg(grade) from student where id in(5,6,7,8,9);1.4 max()函数某字段原创 2017-12-29 19:19:45 · 517 阅读 · 0 评论 -
python字符串解析
1 常用函数主要常用函数有split();replace();strip()等。split方法将字符串切割并以列表的形式返回成几部分。 split参数的字符长度应该大于零,否则无法分割,当分隔符在字符串的左端或者右端时会出现'';当split关键字seq为空值时,即不指定分割字符串时,会按照字符串中的空白进行分割。string = 'aabbccddeeff'string.split('cc')原创 2018-01-24 17:10:53 · 2680 阅读 · 0 评论 -
python3中Numpy的genfromtxt问题
根据官方文档举例 使用python3运行发现报错 TypeError: Can't convert 'bytes' object to str implicitly查询得知,python2与py3不兼容原因import numpy as npfrom io import BytesIOa = '1,2,3\n4,5,6\7,8,9'data = np.genfromtxt(BytesI原创 2018-01-24 17:28:14 · 4482 阅读 · 0 评论 -
numpy中使用genfromtxt对列进行预处理
使用genfromtxt从内存中读取两行数据:3k,in434,32,45,134k,in542,32,52,1将上面两组数据放入numpy数组:import numpy as npfrom io import BytesIOdata = '3k,in434,32,45,1\n34k,in542,32,52,1'data_np = np.genfromtxt(Bytes原创 2018-01-25 13:16:19 · 1976 阅读 · 0 评论 -
python中处理列表序列等的几个关键词
1 insertinsert() 函数用于将指定对象插入列表的指定位置。 eq;>>> list = [1,2,3,4,5,6]>>> list.insert(0,0)>>> list[0, 1, 2, 3, 4, 5, 6]2 appendappend() 方法用于在列表末尾添加新的对象。 eq:>>> list = [1,2,3,4]>>> list.append(5)>>> li原创 2018-01-27 12:23:45 · 688 阅读 · 0 评论 -
python多线程基础
1 简介多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 一个小的例子原创 2018-01-29 21:32:44 · 217 阅读 · 0 评论 -
使用jieba模块进行自然语言处理并制作词云
需要使用python的jieba模块,安装可以使用pip install jieba 关于jieba,支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。 支持繁体分词 支持自定义词典1。三种模式impor原创 2018-03-01 19:50:33 · 768 阅读 · 0 评论 -
python数据分析-文本相似度分析
由于本文设计较多知识点,在编写代码之前需要搞清楚这些知识点的含义。1。知识点解释Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口。 gensim 以“文集”——文本文档的集合原创 2018-03-03 10:29:42 · 10464 阅读 · 4 评论 -
python数据清洗(缺失值与异常值处理)
1。 将本地sql文件写入mysql数据库本文写入的是python数据库的taob表source [本地文件] 其中总数据为9616行,列分别为title,link,price,comment2。使用python链接并读取数据查看数据概括#-*- coding:utf-8 -*-#author:M10import numpy as npimport pandas a...原创 2018-02-24 16:47:47 · 50600 阅读 · 4 评论 -
python数据分析数据标准化及离散化
标准化1。离差标准化是对原始数据的线性变换,使结果映射到[0,1]区间。方便数据的处理。消除单位影响及变异大小因素影响。 基本公式为:x’=(x-min)/(max-min)代码:#!/user/bin/env python#-*- coding:utf-8 -*-#author:M10import numpy as npimport pandas as pdimport matplo原创 2018-02-25 21:31:02 · 6138 阅读 · 0 评论 -
python群发邮件并将excel附件添加到正文
本文几个目的: 1。使用smtp库群发邮件 2。添加邮件的附件 3。将Excel附件添加到正文中"""to_addr表示群发集,使用形如('abc.163.com,add.163.com,3243@qq.com')html表示要展示在正文中的网页或者表格等。password字段表示邮箱的验证码,在打开smtp协议时记得,并不是邮箱的密码。"""def send_email(to_ad原创 2018-03-19 17:18:12 · 8839 阅读 · 3 评论 -
mysql单表查询(一)
表格内容为 1。带in的关键字的查询2。使用between and 关键字3。使用select [字段] from [表名] where [字段名] is null/not null查询空值或者非空值。4。使用distinct去除重复,当查询多字段时,只有都不重复,结果才会被显示。5.使用带like的关键字查询首先更新数据库 使用%匹配要查询的字段,%匹配任意长的字符,即'c%'表示以c开头原创 2017-12-29 17:00:02 · 298 阅读 · 0 评论 -
mysql更改表与字段的编码方式
建立表时使用show create table student查看发现编码默认为latin1 接下来使用alter table student default character set utf8;更改了数据表的编码方式。 发现表的编码已经改为utf8,但是表中字段还是latin1,对于性别字段仍写入汉字仍报错。 接下来更改字段的编码方式alter table student conver转载 2017-12-29 16:11:49 · 14045 阅读 · 0 评论 -
使用python matplotlib绘制简单图形
1.直方图#做直方图#使用hist函数,第一个参数bins为要分的多少面元,默认是10,我们设置的是20pop= np.random.randint(0,100,100)#产生100个0-100的随机数n,bins,patches = plt.hist(pop,bins=20,color='r')plt.title("M10")plt.show()2.条状图#条状图#横坐标是类别,不是数原创 2017-12-08 16:42:35 · 3024 阅读 · 0 评论 -
使用python matplotlib绘制高级图表
1.等值线图其中contour和contourf函数,前者表示绘制等高线,后者表示加色,个人觉得配合使用更好。dx=0.01;dy=0.01x=np.arange(-2.0,2.0,dx)y=np.arange(-2.0,2.0,dx)X,Y=np.meshgrid(x,y)#生成网格矩阵def f(x,y):#定义函数生成对于(x,y)的高值 return (1-y**5+x**5原创 2017-12-09 16:35:50 · 5461 阅读 · 0 评论 -
numpy数组基础
数组的属性import numpy as npa = np.array([1,2,3])a#array([1,2,3])几个主要属性>>> a.ndim#秩1>>> a.dtype#数据类型dtype('int64')>>> a.shape#型(3,)np.zeros((3,4))Out[12]: array([[ 0., 0., 0., 0.], [ 0原创 2017-12-04 16:52:18 · 288 阅读 · 0 评论 -
matplotlib基础
1.处理多个figure 和 axest = np.arange(0.,1.,0.05)#横坐标0-1精确到小数,0.05为横坐标最小刻度单位y1 = np.sin(4*np.pi*t)#同样位置放下四个y2 = np.cos(np.pi*t)#同样位置放下一个plt.subplot(121)#第一个数字垂直方向被分为几部分,第二个数字决定水平方向被分为几部分,第三个决定命令控制字符plt.原创 2017-12-06 19:43:05 · 188 阅读 · 0 评论 -
mysql多表操作基础
1. 外键外键是指应用另外的表的一列或者多列,被引用的列应该具有主键约束或唯一性约束,外键用于建立和加强两个表之间的联系。 建立数据库及数据表:create database bs4;use db4;create table grade(id int(4) not null primary key,name varchar(36));create table student(sid i原创 2017-12-30 11:08:20 · 439 阅读 · 0 评论 -
mysql事务
1.事务1.1事务的概念简单的说,事务就是针对数据库的一组操作,特点是如果其中一条语句无法执行,则全部都不执行。 开启事务start transaction 提交事务commit 回滚rollback1.2事务的提交以转账为例: 创建数据库数据表create table account(id int primary key auto_increament,name varchar(40)原创 2018-01-02 15:23:57 · 126 阅读 · 0 评论 -
mysql视图
1.创建视图1.1在单个表上创建视图首先新建表格+------+------+------+---------+| s_id | name | math | chinese |+------+------+------+---------+| 1 | tom | 89 | 85 || 2 | jack | 80 | 90 ||原创 2018-01-02 17:11:40 · 174 阅读 · 0 评论 -
MYSQL入门
1. 配置mysql修改mysql客户端的字符集编码set character_set_client= 后使用\s查看,得到Client character = gbk2. 数据库和表的基本操作创建数据库CREATE DATABASE itcast,使用SHOW DATABASES查看已存在数据库。 使用SHOW CREATE DATABASE itcast查看数据库的信息 删除数据库DR原创 2017-12-27 20:41:49 · 196 阅读 · 0 评论 -
mysql数据库备份还原
1.备份使用mysqldump命令可以备份数据库 创建db1数据库,在其中创建student数据表+----+------+------+| id | name | age |+----+------+------+| 1 | tom | 20 || 2 | jack | 21 || 3 | mary | 22 |+----+------+------+在要备份的原创 2018-01-03 19:40:20 · 260 阅读 · 0 评论 -
SQL入门(二)添加更新与删除数据
1.添加数据1.1 为表中所有字段添加数据首先创建数据库及表create database db2;use db2;create table student(id int(4),name varchar(20) not null,grade float);使用insert插入数据,当指定student中的字段名时,只需要与values对应即可。insert into student(id,原创 2017-12-29 13:06:24 · 652 阅读 · 0 评论 -
python3列表推导式
1列表推导效率比传统的for 循环+append要快code测试如下:#传统的循环import datetimetime1 = datetime.datetime.now()list1 = []for i in range(100000): if i%3==0: list1.append(i)time2 = datetime.datetime.now(...原创 2018-07-22 16:13:19 · 1039 阅读 · 0 评论