
python
文章平均质量分 88
zhuhengv
这个作者很懒,什么都没留下…
展开
-
python的matplotlib实现双Y轴
import matplotlib.pyplot as pltimport numpy as np x = np.arange(0., np.e, 0.01)y1 = np.exp(-x)y2 = np.log(x)fig = plt.figure()ax1 = fig.add_subplot(111)ax1.plot(x, y1,'r',label="right");ax1.l原创 2016-09-21 16:48:46 · 14018 阅读 · 0 评论 -
利用python进行数据分析-数据规整化1
1.合并数据集pandas.merge可根据一个或多个键将不同DataFrame中的行连接起来pandas.concat可以沿着一条轴将多个对象堆叠到一起实例方法combine_first可以将重复数据编接在一起,用一个对象的值填充另一个对象中的缺失值2.数据库风格的DataFrame合并df1=DataFrame({'key':['b','b','a','c','原创 2016-06-16 09:43:47 · 1118 阅读 · 0 评论 -
利用python进行数据分析-数据加载、存储与文件格式2
1.将数据写出到文本格式data1=pd.read_csv('data/ex5.csv')data1.to_csv('data/out.csv')当然,还可以使用其他分隔符data1.to_csv('data/sys.stdout',sep='|')缺失值在输出结果中会被表示为空字符串,你可能希望将其表示为别的标记值data1.to_csv('data/sys.stdout原创 2016-06-15 14:46:54 · 1536 阅读 · 0 评论 -
利用python进行数据分析-数据加载、存储与文件格式1
1.读写文本格式的数据pandas提供了一些将表格型数据读取为DataFrame对象的函数大致介绍下这些函数在将文本数据转换为DataFrame时所用到的一些技术。这些函数的选项可以划分为以下几个大类df=pd.read_csv('ex1.csv')print df结果为: a b c d message0 1 2 3 4 he原创 2016-06-12 17:07:01 · 1680 阅读 · 0 评论 -
利用python进行数据分析-NumPy基础2
1.利用数组进行数据处理import numpy as npimport matplotlib.pyplot as pltpoints=np.arange(-5,5,0.01)xs,ys=np.meshgrid(points,points)print xsprint ysz=np.sqrt(xs**2+ys**2)print zplt.imshow(z,原创 2016-06-07 09:22:55 · 1808 阅读 · 0 评论 -
利用python进行数据分析-pandas入门3
1.函数应用和映射NumPy的ufuncs(元素级数组方法)也可用于操作pandas对象frame=DataFrame(np.random.randn(4,3),columns=list('bde'),index=['Uath','Ohio','Texas','Oregon'])print frameprint np.abs(frame)结果为:原创 2016-06-12 15:49:18 · 1606 阅读 · 1 评论 -
利用python进行数据分析-数据聚合与分组运算1
分组键可以有多种形式,且类型不必相同a.列表或数组,且长度与待分组的轴一样b.表示DataFrame某个列的值c.字典或Series,给出待分组轴上的值与分组名之间的对应关系d.函数,用于处理轴索引或索引中的各个标签df=DataFrame({'key1':['a','a','b','b','a'], 'key2':['one','two','原创 2016-06-25 20:22:16 · 4163 阅读 · 0 评论 -
利用python进行数据分析-pandas入门2
1.索引对象pandas的索引对象负责管理轴标签和其它元数据。构建Series或DataFrame时,所用到的任何数组或其它序列的标签都会被转换成一个Indexobj=Series(range(3),index=['a','b','c'])index=obj.indexprint indexprint index[1:]结果为:Index([u'a', u'b',原创 2016-06-08 09:36:03 · 1084 阅读 · 0 评论 -
利用python进行数据分析-pandas入门
1.pandas的数据结构介绍a.SeriesSeries是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(即索引)组成。obj=Series([4,7,-5,3])print obj结果为:0 41 72 -53 3dtype: int64可以通过Series的values和index属性获取其数组表示形式和索引原创 2016-06-07 14:01:35 · 2468 阅读 · 0 评论 -
Django的安装
前提:1.下载django安装包,从 https://www.djangoproject.com/ 下载django安装包。2.python的安装路径为F:\Anaconda安装过程:1.解压django包到F:\Anaconda目录2.打开DOS窗口,切换到F:\Anaconda\Django-1.9.6目录,输入命令F:\Anaconda\Django-1.9.原创 2016-05-06 21:05:57 · 899 阅读 · 0 评论 -
面向对象的进一步拓展
我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。调用类的其它信息上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个对象。对象拥有类的所有性质,那么我们可以通过self,调用类属性。class Human(object): laugh = 'hahahaha' def show_laugh(self): pri转载 2016-05-06 13:48:52 · 443 阅读 · 0 评论 -
python-面向对象的基本概念
Python使用类(class)和对象(object),进行面向对象(object-oriented programming,简称OOP)的编程。面向对象的最主要目的是提高程序的重复使用性。我们这么早切入面向对象编程的原因是,Python的整个概念是基于对象的。了解OOP是进一步学习Python的关键。下面是对面向对象的一种理解,基于分类。 相近对象,归为类在人类认知中,会根据转载 2016-05-06 13:47:30 · 460 阅读 · 0 评论 -
利用python进行数据分析-NumPy基础
NumPy的ndarray:一种多维数组对象1.创建ndarraydata1=[6,7.5,8,0,1]arr1=np.array(data1)print arr1结果为:[ 6. 7.5 8. 0. 1. ]data2=[[1,2,3,4],[5,6,7,8]]arr2=np.array(data2)print arr2结果为原创 2016-05-26 20:19:37 · 1639 阅读 · 0 评论 -
利用python进行数据分析-数据规整化2
1.合并重叠数据你可能有索引全部或部分重叠的两个数据集。我们使用NumPy的where函数,它用于表达一种矢量化的if-elsea=Series([np.nan,2.5,np.nan,3.5,4.5,np.nan],index=['f','e','d','c','b','a'])b=Series(np.arange(len(a),dtype=np.float64),index=['f'原创 2016-06-16 15:08:01 · 1778 阅读 · 0 评论 -
利用python进行数据分析-数据规整化3
1.离散化和面元划分为了便于分析,连续数据常常被离散化或拆分为“面元”有一组人员年龄数据,希望将这些数据划分为“18到25”,“26到35”,“36到60”,“60以上”几个面元ages=[20,22,25,27,21,23,37,31,61,45,41,32]bins=[18,25,35,60,100]cats=pd.cut(ages,bins)print cats结原创 2016-06-17 11:45:14 · 3051 阅读 · 0 评论 -
python的一些函数
numpy函数1)linspace创建等差数组它最常用的有三个参数,第一个参数表示起始点,第二个参数表示终止点,第三个参数表示数列的个数,如a=linspace(1,10,10)print a结果是:array([1.,2.,3.,4.,5.,6.,7.,8.,9.,10.])原创 2016-05-07 19:54:44 · 1639 阅读 · 0 评论 -
利用python进行数据分析-NumPy高级应用
1.ndarray对象的内部机理NumPy的ndarray提供了一种将同质化数据块解释为多维数组对象的方式,ndarray如此强大的部分原因是所有数组对象都是数据块的一个跨度视图。ndarray内部由以下内容组成:a.一个指向数组(一个系统内存块)的指针b.数据类型或dtypec.一个表示数组形状的元组;例如,一个10*5的数组,其形状为(10,5)d.一个跨度元组,其中的整数原创 2016-09-03 20:48:07 · 2735 阅读 · 0 评论 -
利用python进行数据分析-时间序列2
1.带有重复索引的时间序列dates=pd.DatetimeIndex(['1/1/2000','1/2/2000','1/2/2000','1/2/2000','1/3/2000'])dup_ts=Series(np.arange(5),index=dates)print dup_ts结果为:2000-01-01 02000-01-02 12000-01-原创 2016-08-06 21:11:05 · 2644 阅读 · 0 评论 -
利用python进行数据分析-时间序列3
1.时期的频率转换Period和PeriodIndex对象都可以通过其asfreq方法被转换成别的频率。假设我们有一个年度时期,希望将其转换为当年年初或年末的一个月度时期p=pd.Period('2007',freq='A-DEC')print p.asfreq('M',how='start')print p.asfreq('M',how='end')结果为:2007-01原创 2016-08-28 10:24:26 · 12145 阅读 · 1 评论 -
Python爬虫入门四之Cookie的使用
为什么要使用Cookie呢?Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了。在此之前呢,我们必须先介绍一个opener的概念。1.Op转载 2016-07-30 22:24:52 · 2084 阅读 · 0 评论 -
Python爬虫入门三之URLError异常处理
1.URLError首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在在代码中,我们需要用try-except语句来包围并捕获相应的异常。下面是一个例子,先感受下它的风骚import urllib2requset = urllib2.Request('http://www.xxxxx.转载 2016-07-30 14:34:14 · 2055 阅读 · 0 评论 -
Python爬虫入门二之Urllib库的高级用法
1.设置Headers有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性。首先,打开我们的浏览器,调试浏览器F12,我用的是Chrome,打开网络监听,比如知乎,点登录之后,我们会发现登陆之后界面都变化了,出现一个新的界面,实质上这个页面包含了许许多多的内容,这些内容也不是一次性就转载 2016-07-30 14:14:07 · 425 阅读 · 0 评论 -
Python爬虫入门一之Urllib库的基本使用
1.分分钟扒一个网页下来怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS、CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服。所以最重要的部分是存在于HTML中的,下面我们就写个例子来扒一个网页下来。import urllib2转载 2016-07-30 13:01:13 · 707 阅读 · 0 评论 -
利用python进行数据分析-时间序列1
1.日期和时间数据类型及工具结果为:2016-07-14 22:03:47.9690002016 7 14datetime是以毫秒形式存储日期和时间。datetime.timedelta表示两个datetime对象之间的时间差delta=datetime.datetime(2011,1,7)-datetime.datetime(2008,6,24,8,15)print de原创 2016-07-29 21:20:43 · 6869 阅读 · 1 评论 -
利用python进行数据分析-绘图和可视化2
1.pandas中的绘图函数a.线形图Series和DataFrame都有一个用于生成各类图表的plot方法。默认情况下,她们所生成的是线形图s=Series(np.random.randn(10),index=np.arange(0,100,10))s.plot()结果为:该Series对象的索引会被传给matplotlib,并用以绘制X轴,可以通过use_index原创 2016-06-21 15:41:35 · 5840 阅读 · 2 评论 -
利用python进行数据分析-绘图和可视化1
matplotlib AIP入门1.Figure和Subplotmatplotlib的图像都位于Figure对象中。你可以用plt.figure创建一个新的Figure:fig=plt.figure()这时会弹出一个空窗口。plt.figure有一些选项,特别是figsize,它用于确保图片保存到磁盘时具有一定大小和纵横比。matplotlib中的Figure还支持一种MATL原创 2016-06-21 09:19:43 · 8046 阅读 · 2 评论 -
利用python进行数据分析-数据聚合与分组运算2
1.分组级运算和转换聚合只不过是分组运算的其中一种而已。介绍transform和apply方法,它们能够执行更多其他的分组运算假设我们想要为一个DataFrame添加一个用于存放各索引分组平均值的列。一个办法是先聚合再合并print dfk1_means=df.groupby('key1').mean().add_prefix('mean_')print k1_meansp原创 2016-07-14 21:51:49 · 5101 阅读 · 0 评论 -
直接使用POST方法登录网站
浏览器在 POST 数据之后能够自动登录,那么我能不能在代码中直接模拟这个过程呢?于是我设定了这样的一个流程1. 设置浏览器的 headers, 设置请求等2. 使用 httpfox 工具获取post data3. 将post data 写下来并进行编码4. 携带 headers 和 data 等信息进行网页请求这里还是将获取post data 的过程截图出来,首先转载 2016-02-03 11:19:01 · 45241 阅读 · 0 评论 -
使用python爬取csdn博客访问量
最近学习了python和爬虫,想写一个程序练练手,所以我就想到了大家都比较关心的自己的博客访问量,使用python来获取自己博客的访问量,这也是后边我将要进行的项目的一部分,后边我会对博客的访问量进行分析,以折线图和饼图等可视化的方式展示自己博客被访问的情况,使自己能更加清楚自己的哪些博客更受关注,博客专家请勿喷,因为我不是专家,我听他们说专家本身就有这个功能。一、网址分析进入自己的博转载 2016-02-15 16:13:49 · 613 阅读 · 1 评论 -
[Python]网络爬虫(七):Python中的正则表达式教程
一、 正则表达式基础1.1.概念介绍正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。下图展示了使用正则表达式进行匹配的流程:正则表达式的大致匹配过程是:转载 2016-01-12 15:09:09 · 393 阅读 · 0 评论 -
python知识-错误和异常
1.常见错误:1)NameError2)SyntaxError3)IOError4)ZeroDivisionError5)ValueError2.使用try-except处理异常try: try_suiteexcept Exception [e]: exception_blocka.tyr用来捕获try_suite中的错误,并将错误交原创 2016-01-05 14:33:37 · 647 阅读 · 0 评论 -
python实现简单爬虫功能
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。 我们可以通过python 来实现这样一个简单的爬虫功能原创 2015-12-17 21:56:39 · 480 阅读 · 0 评论 -
python matplotlib中文显示问题
python中的matplotlib仅支持Unicode编码,默认是不显示中文的,如果让其默认显示中文,有下面2种方法:第一种方法:1、在python的安装目录中找到配置文件: %Python_Home%\Lib\site-packages\matplotlib\mpl-data\matplotlibrc (如,我的是在C:\Python34\Lib\site-packa转载 2016-01-19 08:51:38 · 6586 阅读 · 0 评论 -
python知识-列表生成式
[x * x for x in range(1, 11)]结果为:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来复杂表达式假设有如下的dict:d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }完全可以通原创 2015-12-17 10:30:14 · 359 阅读 · 0 评论 -
python知识—切片/迭代
对list进行切片,如:L=['zhuheng','ktt','xiaoyang','zhu']L=[0:3]L[0:3]表示从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素如果第一个索引是0,还可以省略L[:3]只用一个:,表示从头到尾,L[:]切片操作还可以指定第三个参数,第三个参数表示每N个取一个,如L[::2]表示每两个元素取出一个来原创 2015-12-17 09:34:25 · 465 阅读 · 0 评论 -
python抓取网页中的链接地址
# coding:utf-8import reimport requests# 获取网页内容r = requests.get('http://www.163.com')data = r.text# 利用正则查找所有连接link_list =re.findall(r"(?for url in link_list: print url原创 2015-12-17 15:19:41 · 4276 阅读 · 0 评论 -
python基础知识-函数
使用def语句,依次写出函数名、括号、括号中的参数、冒号,函数的返回值用return语句定义默认参数:def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return原创 2015-12-16 23:04:50 · 285 阅读 · 0 评论 -
使用python pylab库 画线
pylab 提供了比较强大的画图功能,但是函数和参数都比较多,很容易搞混。我们平常使用最多的应该是画线了。下面,简单的对一些常用的划线函数进行了封装,方便使用。# -*- coding: utf-8 -*-import pylabimport randomclass MiniPlotTool : ''' A mini tool to draw lines using p转载 2016-01-18 10:05:35 · 4080 阅读 · 0 评论 -
【Python】Matplotlib绘图库初探
Matplotlib是Python的2D&3D绘图库,产生各种已经拷贝格式和交互幻剑中跨平台形式的印刷质量图标。Matplot语法与Matlab相似,绘图绘图功能强大,而且十分容易上手。“个人永远不能超过集体的力量”(Ken Blanchard)。Python强大的原因之一就在于其开源,有很多优秀的程序员为其提供了丰富的类库。Matplotlib就是其中之一,但他的创始人John D.转载 2016-01-17 10:53:29 · 627 阅读 · 0 评论 -
python知识-正则表达式
ma=re.match(r'[0-9][a-z]*','1bc')ma.group()结果是:1bc应用非贪婪模式,如:ma=re.match(r'[0-9][a-z]*?','1bc')ma.group()结果是:1ma=re.match(r'^[\w]{4,10}@163.com$','zhuheng@163.com')ma.group()原创 2015-12-29 11:16:55 · 358 阅读 · 0 评论