python
chenXin@Euler
黄金分割点、白银分割点
展开
-
Ubuntu下用conda安装openCV
温馨提示:请一定看完之后,再执行相应的终端代码1,个人建议使用conda管理python包,这里简单说下ubuntu下conda的安装方法:下载conda的网址:https://repo.continuum.io/archive/,这里提供了macos , windows ,linux分别的32为系统和64位系统的安装包mac和windows系统有相应的可视化桌面,但是linux系统却...原创 2019-03-31 15:47:13 · 4347 阅读 · 1 评论 -
python3 leetcode判断一个数是不是2的幂次方
当拿到这道题的时候我想的是进行 code:import mathn=int(input('请输入一个正整数:'))if math.log(n,2)==int: return Trueelse: return False但是在leetcode这样运行时错误的,所以 代码修改如下:class Solution: def isPowerOfTwo(sel...原创 2018-08-22 12:02:54 · 1989 阅读 · 0 评论 -
python3 汉明重量 输入一个数找二进制中位数是1的个数 leetcode
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 : 输入: 11 输出: 3 解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 2:输入: 128 输出: 1 解释: 整数 128 的二进制表示为 0000000000000000000000001000000...原创 2018-08-22 13:41:14 · 788 阅读 · 1 评论 -
天池比赛notebook
天池比赛的链接文档说明 https://tianchi.aliyun.com/notebook/index.htm?spm=5176.9876270.5610778.14.31d1e44axRaA3f 其实这个notebook是和jupiter notebook是一样的一个东西,我也是最近对天池比赛有一点点的兴趣。希望大家可以好好学习。一起加油,只要我的博客有更新,那就说明我就一直在学习。如果...原创 2018-08-17 21:55:31 · 3364 阅读 · 0 评论 -
函数式编程的透彻理解
深入理解函数式编程把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。就在今天去理解python里面的所谓的高阶函数这一概念的时候突然明白函数式编程的内部原理就是数学中的复合函数f(g(x))'''创作人liChenXin发现了原来函数式编程的核心思想是--math中的复合函数 f(g(x))'''def a(): return ('hel...原创 2020-04-23 21:58:41 · 473 阅读 · 0 评论 -
Python利用Pillow添加水印
python数据分析得到的图片,并对对片添加水印采用函数式编程:#!/usr/bin/pythonfrom PIL import Image, ImageDrawfrom matplotlib import pyplot as plt, font_manager# 保存通过数据分析得到的图片def save_img(): # mac系统下查询包含中文字体的方式是命令fc-list...原创 2020-02-07 12:15:09 · 1344 阅读 · 0 评论 -
Python和C++类的对比
Python的类#!/usr/bin/pythonclass P:"""python中的共有、保护、私有属性和方法""" def __init__(self, a, b, c): # 这里进行了结构初始化当实例化对象的时候,就会自动执行初始化 self.a = a # public self._b = b # protected sel.__c = c # priva...原创 2020-02-06 15:55:45 · 1352 阅读 · 0 评论 -
Python 闭包和装饰器
装饰器代码示例:def wrapper_out1(func): print('--out11--') def inner1(*args, **kwargs): print("--in11--") ret = func(*args, **kwargs) print("--in12--") return ret ...原创 2020-02-06 14:04:58 · 147 阅读 · 0 评论 -
from . import *(*是指模块名)具体代表的意思
详解那个我们熟悉又陌生的from . import *首先需要告知的是第二张图片是打开的__init__.py里面显示的内容呢(就是第一张图片的第一个.py文件)from . import *from . import * 代表的是这一级的文件夹导入模块。不知道你们是否还记得,如果要导入自己写的模块(就是所谓的.py文件)你们是怎么导入的#导入自己写的chachao.py模块(自己写...原创 2019-10-10 22:57:51 · 10628 阅读 · 0 评论 -
csv文件删除第一行
这些命令需要在终端操作,mac和windows以及ubuntu是同样的命令$ sed 1d soure.csv >> newfile.csveg:$ sed 1d result_fusion.csv >> result_fusion1.csvresult:result_fusion.csvresult_fusion.xlsxresult_fusion1.c...原创 2018-09-21 14:56:29 · 7627 阅读 · 1 评论 -
正则表达式(?p<name>group)
正则表达式 (?pgroup)这个正则的意思是,给匹配到的数字命名一个组名name,这个组名必须是唯一的。 另一种是正则匹配使用group(组名)可以获取到这个组名下的数据,同group(1),group(2)类似 eg: (?p\d{2})匹配带有两个数字的正则表达式模式: 模式字符串使用特殊的语法来表示一个正则表达式: 字母和数字表示他们自身。一个正则表达式模式中的字母和数...原创 2018-09-14 13:10:05 · 12286 阅读 · 2 评论 -
python代码编写去除奇异值
对于这个代码,对于异常值不是很明显的是无法处理的,对于相对应的波峰波谷(如果很小的差距是不可以检测出来的)利用的原理是3sigam# -*- coding:utf-8 -*-# sed 1d excel_file.xlsx &amp;gt; new_excel_file.xlsx# 上面这条命令的方式是为了删除带有第一行的文件的标题头import numpy as npdata = np.l...原创 2018-09-21 16:02:24 · 2794 阅读 · 0 评论 -
python2.x和python3.x的取舍
安装 我在学习的时候用的解释器是python3.x 但是现在工作了就用了python2.x 很多人可能会说,为什莫还在用python2.x,不是说好的2020年python2.x就不在维护和更新了吗?其实我想说的事,Python2.x和python3.x的差距并没有那么大了。特别是python2.7和python3.x更是一个过度性的阶段 所以你选择什么版本不重要,不过我建议的话,建议使用...原创 2018-09-14 10:39:07 · 2329 阅读 · 0 评论 -
python求最大值,不使用内置函数
利用python进行求解,求解的要求是不能使用python内部封装好的函数例如:max way1:def findmax(data,n): if n==1: return data[0] else: maxi=data[0] for i in data[1:]: if maxi<i: ...原创 2018-08-25 17:51:57 · 10887 阅读 · 0 评论 -
python继承和多态
继承和多态在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印:class Animal(object): def run(...原创 2018-08-25 17:27:20 · 180 阅读 · 0 评论 -
广度优先算法
deque 即双端队列。是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。# 最短路径问题的算法被称为广度优先搜索# 广度优先搜索是一种用于图的查找算法# 第一类问题:从节点A出发,有前往节点B的路径吗?# 第二类问题:从节点A出发,前往节点B的哪条路径最近。from collections import dequegraph={...原创 2018-08-25 13:40:46 · 424 阅读 · 0 评论 -
pyecharts(百度开源数据挖掘做图库)
pyecharts更适合国内人的思维方式,我觉得直观感觉挺好的。原创 2018-08-12 10:22:29 · 4639 阅读 · 2 评论 -
python中实现两个变量值的变换,在不引入第三方变量的条件下
其实两个值的变换的方式,就像是两个手里分别拿着鸡蛋和鸭蛋一样, (一个手只能在同一时间点哪一个蛋在手中),那么该怎么转换,在不引入其他凭借的条件下,你应该怎么做?是一样的原理的,a=100b=200a=a^b# 把100和200转换为二进制,按位异或b = a ^ ba = a ^ b# 上一步a的变换其实就是:a = a ^ b ^ aprint(a)# 上一步b的变换其实...原创 2018-08-18 18:03:38 · 446 阅读 · 0 评论 -
python数据结构(容器)
对于数据结构这样的一个词,我相信有过c语言基础的人都应该不陌生, 数据结构:(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。 根据数据元素之间关系的不同特征,通常有下列4类基本结构: 1)集合 结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。 2)线性结构(数组,队列,栈) 结构中的数据元素之间存在一个对一个的关系 3)树形结构(...原创 2018-08-18 19:45:05 · 888 阅读 · 0 评论 -
列表去重
列表去重方法1:循环ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids = []for id in ids: if id not in news_ids: news_ids.append(id)print(news_ids)列别去重方法2:集合ids=[1,2,3,3,4,2,3,4,5,6,1]ids=list(set(ids)...原创 2018-08-16 14:30:20 · 499 阅读 · 0 评论 -
python进程池apply与apply_async
进程池Pool中的apply方法与apply_async的区别apply方法是阻塞的。 意思就是等待当前子进程执行完毕后,在执行下一个进程。 示例apply的应用方法import timefrom multiprocessing import Pooldef run(msg): print('msg:%s'%msg) # 程序随眠3秒, time.sleep...原创 2018-08-19 14:39:41 · 1304 阅读 · 0 评论 -
python在数据分析库里axis=0/axis=1的含义
在pyhton的图形中,以及在pandas中,经常会用到axis=0和axis=1 那么他们到底表示的是什么呢? 下面通过一些代码来展示:import numpy as npa=np.array([[1,2,3],[4,5,6],[7,8,9]])a=a.sum(axis=0)print(a) code result:[12 15 18]...原创 2018-08-26 20:27:00 · 859 阅读 · 3 评论 -
二叉树(满树),树深度和叶子节点的计算
判断树深和叶子节点的个数,对于完全二叉树, 有关二叉树的名词 树的结点(node):包含一个数据元素及若干指向子树的分支; 孩子结点(child node):结点的子树的根称为该结点的孩子; 双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲; 兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点; 祖先结点: 从根到该结点的所经分支上的所有结点子孙结点:以某结点为根的...原创 2018-08-17 14:01:56 · 14081 阅读 · 0 评论 -
python递归(阶乘和斐波那契数)
斐波那契数列亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列从第三项开始,每一项都等于前两项之和。 通...原创 2018-08-25 10:47:12 · 1893 阅读 · 0 评论 -
hash table在python中的实现
hash table:又称为散列表,有键和值组成,数组中方商品的价格。 散列表总是将同样的输入映射到形同的索引 散列函数将不同的输入映射到不同的索引 散列函数知道数组有多大,只返回有效的索引。# 投票可以使用散列表voted={}def check_voter(name): if voted.get(name): print("kick them out")...原创 2018-08-25 11:30:53 · 2914 阅读 · 2 评论 -
安装brew遇到的问题解答,Operation not permitted问题解决
安装brew遇到的问题解答,Operation not permitted问题解决 一,安装brew1,安装brewcurl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local –strip 12,安装完成后执行brew提示:Please run brew updat...翻译 2018-08-12 10:06:10 · 2766 阅读 · 0 评论