python
geerniya
这个作者很懒,什么都没留下…
展开
-
用Python进行数据分析之金融和经济数据应用
金融经济数据方面应用Python非常广泛,也可以算是用Python进行数据分析的一个实际应用。数据规整化方面的应用时间序列与截面对齐 在处理金融数据时,最费神的一个问题就是所谓的“数据对齐” (data alignment)问题。两个相关的时间序列的索引可能没有很好的对齐,或两个DataFrame对象可能含有不匹配的列或行。Pandas可以在算术运算中自动对齐数据。在实际工作中,...转载 2018-06-01 10:25:37 · 17254 阅读 · 0 评论 -
Python学习——Hailstone 冰雹序列
最近看一个学习视频,里面讲了个Hailstone 雹石序列,描述如下:感觉用Python很好实现:#Hailstone序列def haistone(n): hai_list = [] while n > 1: hai_list.append(n) if n%2: #奇数 n = 3*n + 1原创 2018-01-16 14:38:38 · 7334 阅读 · 2 评论 -
python学习——Python中的列表推导式、字典推导式、集合推导式
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:列表(list)推导式字典(dict)推导式集合(set)推导式1、列表推导式方法:使用[]生成list 一般用法:[ x for x in … if x …]#得到20以内的偶数[x原创 2018-01-14 13:41:51 · 406 阅读 · 0 评论 -
python学习——Python日期的加减等操作
1. 日期输出格式化所有日期、时间的api都在datetime模块内。1. datetime => stringnow = datetime.datetime.now()now.strftime('%Y-%m-%d %H:%M:%S')#输出2012-03-05 16:26:23.870105strftime是datetime类的实例方法。2. string => datetimet_s转载 2018-01-04 21:11:46 · 3019 阅读 · 1 评论 -
python学习——leetcode第五题 Longest Palindromic Substring
题目: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid answer.Example:In原创 2017-12-29 15:05:44 · 638 阅读 · 0 评论 -
Python学习——正则表达式
导入正则表达式模块:import re1、re.matchre.match是从字符串开头开始匹配的,匹配成功的话可以通过group()方法进行展示出来:import reline = 'abc123abc'rest = r'.*(\d{3}).*' #正则表达式内容result = re.match(rest, line)print(result.group(原创 2017-12-18 16:40:58 · 367 阅读 · 0 评论 -
python学习——对列表中的元素去重并保持原顺序
比如:list1 = [1,2,4,9,5,6,5,2,4,7,8,0] 现在需要对其进行去重,最简单的操作是通过set方法:list2 = list(set(list1))得到:[0, 1, 2, 4, 5, 6, 7, 8, 9]但是这样就改变了原来的顺序,如果我们还想保持原来列表的顺序,可以通过sort()方法中的key字段进行设定:list1 = [1,2,4,9,5,6,5,2,4,7,8原创 2018-01-12 20:41:43 · 6438 阅读 · 1 评论 -
python学习——divmod()方法
divmod(a,b)方法返回的是a//b(除法取整)以及a/b(取余),返回结果类型为tuple,参数:a,b可以为数字(包括复数)>>> divmod(9,2)(4, 1)>>> divmod(11,3)(3, 2)>>> divmod(1+2j,1+0.5j)((1+0j), 1.5j)原创 2017-12-28 11:40:42 · 3824 阅读 · 1 评论 -
django学习——1.11版本中template出现warnning
出现如下警告:WARNINGS:?: (1_8.W001) The standalone TEMPLATE_* settings were deprecated in Django 1.8 and the TEMPLATES dictionary takes precedence. You must put the values of the following settings into you原创 2018-01-02 11:50:13 · 1237 阅读 · 0 评论 -
python学习——通过virtualenv中安装不同版本的Python
1、linux下安装一般linux系统默认安装有Python,可以通过以下目录查看下安装的都有些版本:/usr/bin本人ubuntu系统,默认安装有Python2.7 和 Python3.5。安装Python2.7版本的虚拟环境 env-py2:virtualenv env-py2安装Python3.5版本的虚拟环境env-py3:virtualenv -...原创 2017-12-09 21:13:39 · 17219 阅读 · 0 评论 -
Python学习——reduce()函数的用法
reduce()函数在Python3.0中已经不是BIF函数了,使用前需要通过导入:from functools import reducereduce(func,seq)函数是一种自动迭代吧,把序列中的前两个元素导入到函数中,得到一个新的参数,并同序列中的下一个元素一起作为函数的新的两个参数,依次进行,最后返回一个函数值。以最简单的数组元素想加为例。使用循环语句,(C语言的风格吧):sumNum原创 2017-08-19 10:26:43 · 620 阅读 · 0 评论 -
python学习——Counter计数方法
1、统计一个序列中元素的次数:from collections import Countera = [10, 8, 6, 7, 2, 8, 4, 10, 3, 7, 8, 4, 5, 7, 2, 2, 3, 8, 8, 9, 6, 2, 2, 7, 8, 7, 4, 8, 5, 2]b = Counter(a)print(b)得到结果:Counter({8: 7, 2: 6, 7: 5, 4: 3原创 2017-11-26 17:43:17 · 5475 阅读 · 0 评论 -
python学习——采用sorted方法对字典的键、值进行排序
通过sorted方法可以对字典的键或者值进行排序。1、问题的提出已知某随机数列中[1,3,4,6,3,3,4,6,8,4...],想要统计出现频率最高的三个数字以及出现的次数。2、生成随机数列通过列表解析生成一个随机数列,随机数生成采用random模块中的randint方法。import randomdata = [random.randint(1,10) for i in range(30)]p原创 2017-11-26 17:03:04 · 1709 阅读 · 0 评论 -
python学习——namedtuple方法
namedtuple是继承自tuple的子类,namedtuple创建一个和tuple类似的对象,而且对象拥有可访问的属性。在对元组中的元素进行访问时,为了更明白的表示出该元素的类别,可以通过namedtuple该元组进行重新定义。例如:from collections import namedtuple#定义了一个元组,包括姓名、年龄、性别、邮箱student = ('jack', 18, 'm原创 2017-11-26 15:23:26 · 468 阅读 · 0 评论 -
python学习——在Python3.6环境下Django连接MySQL
环境:Django 1.11,Python 3.6,MySQL 5.7Django默认的数据库是sqlite,要想改成mysql,除了需要在setting.py中将数据库改为:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_start', #数据原创 2017-10-10 21:55:29 · 3827 阅读 · 0 评论 -
python学习——用lambda实现斐波那契函数
问题:一个人一次只能上1个台阶或2个台阶,问登上n个台阶共有多少种方法?首先用数学的结题思路进行分析,得到答案,f(n)=f(n-1)+f(n-2),正好是斐波那契数列。 在pytho中实现的话,用lambda一行即可实现:fib = lambda n : n if n 2 else fib(n-1)+fib(n-2)转化成常见的函数形式为:def fib(n):原创 2017-10-17 14:37:38 · 2999 阅读 · 0 评论 -
Python学习——Python中的可变对象与不可变对象
可变对象:该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。不可变对象:该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。不可变对象:数值类型(int和float)、字符串st原创 2018-01-10 09:55:37 · 419 阅读 · 0 评论 -
Python学习——Python中的"is"与“==”
Python中一切皆对象,对于两个对象a、b,如果判断它们是否相等,最常用的方法是”==”,即a == b ,如果相等的话,返回True, 否则返回False。在Python中还有一种判断是否相等的方法”is”, 那么 两者有什么不同呢?在讲”is”和”==”这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值原创 2018-01-10 09:44:12 · 450 阅读 · 0 评论 -
Python数据分析之数据可视化
数据可视化是数据分析很重要的一部分,它能帮助我们更好的从繁杂的数据中更直观更有效的获取信息。 matplotlib是用来创建图表的工具包之一。其目的是为Python构建一个Matlab式的绘图接口,初次接触的时候我就感觉这货跟matlab画的图表很相似。虽说其直接创建的图不是那么的高大上,但是matplotlib确是可视化必须要掌握的基础。matplotlib API入门引入:#...转载 2018-05-31 22:15:12 · 31825 阅读 · 1 评论 -
用python将百度地图API集成到网页中去
我们很多时候需要在网页中插入地图元素,比如.外卖餐厅的地址、楼盘位置等等,这个时候我们可以直接调用百度地图API的接口,将其显示出来。当然,对于指定的位置信息,都可以调用这个接口进行展示。首先给出百度地图API的源码:http://developer.baidu.com/map/jsdemo.htm#a1_21、创建个人秘钥在进行开发之前,首先需要取得百度地图开放平台的 访问应用(AK...原创 2018-05-31 18:01:39 · 5058 阅读 · 3 评论 -
Python3 中 configparser 模块解析配置的用法详解
configparser 简介configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x 中名为 ConfigParser,3.x 已更名小写,并加入了一些新功能。 配置文件的格式如下:[DEFAULT]ServerAliveInterval = 45Compress...原创 2018-04-25 17:44:48 · 6054 阅读 · 0 评论 -
python学习——Python基础之封装
学习过程中总是听说封装、封装, 各种封装,但是具体是什么意思,怎么实现,有什么好处,还是一头雾水。直到看到这篇文章,详细的讲了python函数、类的封装,并用具体的例子来举例说明,可以说是很好的一篇文章了,特转载过来。原文链接:https://www.cnblogs.com/Michael–chen/p/6740455.html一、什么是封装在程序设计中,封装(Encapsulation)是对具体对转载 2018-04-13 18:39:11 · 24121 阅读 · 1 评论 -
python学习——Python中的logging模块
最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录。主要是从官方文档和stackoverflow上查询到的一些内容。基本用法下面的代码展示了logging最基本的用法。# -*- coding: utf-8 -*-import loggingimport sys# 获取logger实例,如果参数为空则返回root lo...转载 2018-04-17 18:38:24 · 549 阅读 · 0 评论 -
python学习——CMD中快速执行python文件
有时我们在做一些语法验证时,需要执行一些小的python程序,最方便的做法当然是在各种IDE里执行。但是有时我们需要单独保存该文件,那么如何在CMD中对该文件进行执行呢?很简单,我们通过如下如法即可:python 文件路径比如我们想要执行桌面的test.py文件,直接输入如下语法即可得到执行结果:python C:\Users\Administrator\Desktop\tes...原创 2018-04-12 09:39:45 · 4456 阅读 · 0 评论 -
Python学习——使用七牛云存储照片等文件
我们在做网站开发时,有时需要用户上传文件,比如说最常见的照片。此时如果我们将文件直接存储在数据库中,一来会使得数据文件过多,二来用户在访问文件时会加剧数据库的负担。为此,我们可以将数据文件存放在网上,在访问文件时直接访问网上文件的链接即可。这里我们采用七牛云来存储文件,我们拿照片类文件来举例。1、注册七牛云账号作为开发者的话,我们是需要注册成为开发者账号的。七牛的官网链接为: http...原创 2018-04-08 13:04:25 · 3736 阅读 · 3 评论 -
python学习——class类中@property的用法
python 中的@property是把类中的方法变成属性来来进行调用的。举例来说:class Student(object): @property def score(self): return self._score @score.setter def score(self, value): if not isin...原创 2018-03-30 16:58:08 · 12579 阅读 · 0 评论 -
Python中获取路径os.getcwd()和os.path.dirname(os.path.realpath(__file__))的区别和对比
下午博主更新了一篇讲述获取当前项目路径的博文,然后得到了悠悠校长的指点,又了解了一种新的使用方式,然后自己也去研究了一下这两种方式的不同之处。博主目前用的是Python的os.getcwd()方法,但我一位朋友给出的是os.path.dirname(os.path.realpath(__file__))那么,这两种方式到底有什么本质区别?博主通过具体的实验来进行解释。先给出2个目录的结构:(转载 2018-03-12 10:04:04 · 3258 阅读 · 0 评论 -
Python笔试题(一)
1.列表(list)和元组(tuple)的区别列表是可以修改的元组不能修改定义:list: 链表, 有序的项目, 通过索引进行查找, 使用方括号"[]";tuple:元组, 元组将多样的对象集合到一起, 不能修改, 通过索引进行查找, 使用括号"()";dict:字典, 字典是一组键(key)和值(value)的组合, 通过键(ke...转载 2018-03-03 13:42:56 · 724 阅读 · 0 评论 -
Python学习—— 用python来买彩票
常见的彩票有双色球和大乐透,我们以这两种为例,用Python实现随机选号功能。双色球 “双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1–33中选择;蓝色球号码从1–16中选择。import randomlist_red = [x for x in range(1, 34)] #1~33红色球序列res = random.sample(...原创 2018-02-24 11:38:05 · 20485 阅读 · 4 评论 -
python学习——random模块
random模块常用函数:1、random.random(),表示从0-1之间的随机小数:import randoma = random.random()print(a)得到结果:'0.1257634562'2、random.randint(a, b),表示a<= x <= b的一个整数:import randoma = random.ra...原创 2017-11-25 23:10:03 · 822 阅读 · 0 评论 -
Python学习——闭包与装饰器
以前你有没有这样一段经历:很久之前你写过一个函数,现在你突然有了个想法就是你想看看,以前那个函数在你数据集上的运行时间是多少,这时候你可以修改之前代码为它加上计时的功能,这时候是不是还要大体读读你的代码,稍微搞清楚一点它的逻辑,才敢给它添加新的东西。这样是不是很繁琐,要是你之前写的代码足够乱做够长,再去读它是不是很抓狂…。实际工作中,我们常常会遇到这样的场景,可能你的需求还不只是这么简单。那么...转载 2018-03-02 15:10:38 · 270 阅读 · 0 评论 -
python学习——一道笔试小题
题目:#对列表进行分页li = [1,2,3,4,5,6,7,8,9]#得到res = [[1, 2, 3, 4], [5, 6, 7, 8], [9]]分析:对列表中的对象元素按照四个四个一组,形成一个新的列表,并组合成一个大的列表。解答:def list_div(li, n): hi = [] gi = [] for num, i in ...原创 2018-03-01 17:18:43 · 310 阅读 · 0 评论 -
python学习——魔法方法详解
据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。Python 的魔术方法非常强大,然而随之而来的则是责任。了解正确的方法去使用非常重要!魔法方法转载 2017-11-30 20:05:55 · 410 阅读 · 0 评论 -
python学习——如何查看安装包的版本
方法一:pip list 简单,粗暴,展示所有。运行cmd,打开命令提示框,直接输入pip list 回车,即可将所有的安装包,包括版本展示出来。如下:方法二:进入Python交互模式运行cmd,打开命令提示框,直接输入python 回车,进入python交互模式。以django为例,import django,然后,django.VERSION即可。注意要大写,如下:当然,如果要查看某个虚拟环境中原创 2017-11-16 10:00:04 · 139591 阅读 · 3 评论 -
python学习——super()方法实现类的继承
在一个基类的基础上新建一个子类时,采用继承的方法可以得到基类(父类)的特性,此时采用super()方法可以实现基类的继承:class People(object): def __init__(self, name, age): self.name = name self.age = age def change_age(self, newage):原创 2017-11-30 15:23:09 · 600 阅读 · 0 评论 -
Python学习——os模块中几个常用的方法
1、os.rename() 对文件重命名格式为:os.rename(file1,file2),将file1重命名为file2import osos.rename('aaa.txt','bbb.txt')2、os.getcwd() 获取当前文件目录improt os print(os.getcwd())如果目前的路径为桌面,那么得到的结果为:C:\Users\Administrator\Deskt原创 2017-08-26 15:10:49 · 711 阅读 · 0 评论 -
Python学习——判断一个字符串是不是回文
“回文”的意思是:首尾依次相等。比如:abcdedcba方法一: 按照字面上的理解,将首尾依次对比:s = input('请输入一个字符串:')if not s: print('请不要输入空字符串!') s = input('请重新输入一个字符串:')a = len(s)i = 0count = 1 while i <= (a/2): if s[i] == s原创 2017-08-22 23:47:59 · 75944 阅读 · 5 评论 -
python学习——类中为什么要定义__init__()方法
学习Python的类,一直不太理解为什么一定要定义init()方法,现在简要谈一下自己的理解吧。1、不用init()方法定义类 定义一个矩形的类,目的是求周长和面积。class Rectangle(): def getPeri(self,a,b): return (a + b)*2 def getArea(self,a,b): return a*br原创 2017-08-22 21:12:41 · 47892 阅读 · 37 评论 -
Python学习——enumerate()函数的用法
enumerate(seq,[start=0]) 函数是将序列中的元素与索引组合成一个元组列表,主要是用在for循环中。 例子:>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']>>> list(enumerate(seasons))[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter原创 2017-08-21 21:59:15 · 353 阅读 · 0 评论 -
python学习——zip()函数的用法
1、zip()函数将序列进行组合,形成一个元组序列,举例如下:a = [1,2,3,4]b = [5,6,7,8]c = list(zip(a,b))print(c)结果如下:[(1, 5), (2, 6), (3, 7), (4, 8)]将两个序列的元素按照索引的位置一一对应,形成一个元组序列。2、如果序列的长度不一致会出现什么现象?a = [1,2,3,4]b = [5,6,7,8,9]原创 2017-08-21 21:47:21 · 619 阅读 · 0 评论