Python
seraph_flying
这个作者很懒,什么都没留下…
展开
-
python之鸡尾酒排序
双向冒泡排序/鸡尾酒排序算法简介鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能,原因是冒泡排序只从一个方向进行比对(由低到高),每次循环只移动一个项目。时间复杂度与空间复杂度最差时间复杂度:O(N^2)最优时间复杂度:O(N)平均时间复杂度:O(N^2)空间复杂度:O(1)d...转载 2019-10-19 08:27:10 · 570 阅读 · 0 评论 -
Python之双调排序
双调序列双调序列(Bitonic Sequence)是指由一个非严格增序列X和非严格减序列Y构成的序列,比如序列(23,10,8,3,5,7,11,78)。定义:一个序列a1,a2,…,an是双调序列(Bitonic Sequence),如果:(1)存在一个ak(1≤k≤n), 使得a1≥…≥ak≤…≤an成立;或者(2)序列能够循环移位满足条件(1)Batcher定理将任意一个长为2...转载 2019-10-16 09:40:09 · 657 阅读 · 0 评论 -
Python之猴子排序
猴子排序是一种什么样子的排序呢?猴子代表乱的意思,猴子排序的意思就是乱排序,直到有序为止。这个真实的含义就是把一个无序的数组进行乱排序,然后看其是否会有序,这是个概率性事件,有可能一次之后就有序了,也有可能很多次后依然无序。实现方法如下:1,定义数组2,数组随机3,检验数组是否有序,无序继续,有序了就停止就是如此简单的实现思路,但是却要用到随机化的知识和标志变量的实现技巧impor...原创 2019-10-15 10:28:10 · 1677 阅读 · 0 评论 -
Python之桶排序
桶排序核心思想:桶排序主要就是将一些数放在一个数组中,每个数对应的是数组下标,刚开始将数组里的每一个元素初始化为0,以后一个数只要出现一次,对应的数组下标里的值就自加1,最后将出现过的数打印输出即可。DEFAULT_BUCKET_SIZE = 5def bucket_sort(my_list, bucket_size=DEFAULT_BUCKET_SIZE): if len(my_...原创 2019-10-14 14:24:10 · 329 阅读 · 0 评论 -
Python之冒泡排序
冒泡排序算法简介冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。6.2时间复杂度与空间复杂度最差时间复杂度:O(N^2)最优时间复杂度:O(N)平均时间复杂度:O(N^2)空间复杂...原创 2019-10-11 09:20:20 · 334 阅读 · 0 评论 -
Pandas中的DataFrame修改列名
方法一from pandas import DataFrame, Seriesdata = DataFrame({"a":[1, 2, 3, 4], "b":[4, 5, 6, 7]})data.columns = ["c", "d"]#直接在原数据上修改方法二from pandas import DataFrame, Seriesdata = DataFrame({"a":[1, ...转载 2019-09-13 08:59:48 · 5860 阅读 · 1 评论 -
python 如何将str转化为datetime.date
代码# 方法1, 用time模块的strptime方法来解析日期字符串成为时间对象import time, datetimedate_str = '2019-09-11'fmt = '%Y-%m-%d'time_tuple = time.strptime(date_str, fmt)year, month, day = time_tuple[:3]a_date = datetime....原创 2019-09-11 10:19:31 · 26091 阅读 · 2 评论 -
HTTP Error 503: Service Temporarily Unavailable 问题解决
通过定义一个Header参数来解决user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'headers = { 'User-Agent': user_agent}#定义Reque...原创 2019-09-05 15:09:30 · 9393 阅读 · 2 评论 -
numpy.linalg.LinAlgError: Singular matrix 问题解决
问题在对numpy的矩阵用np.linalg.inv方法时报错numpy.linalg.LinAlgError: Singular matrix原因A=np.matrix([[1,2],[-1,-3]])print(A)print(type(A))B=np.linalg.inv(A)print(B)print(type(B))可以得到结果[[ 1 2] [-1 -3]]...原创 2019-09-04 10:15:58 · 71641 阅读 · 13 评论 -
用python访问网页
python 3核心代码import urllib.requesturl="https://www.baidu.com"req=urllib.request.Request(url)resp=urllib.request.urlopen(req)result=resp.read().decode('utf-8')print(result)结果<html><...原创 2019-09-03 13:59:27 · 4891 阅读 · 0 评论 -
numpy中的concatenate函数
concatenate((a1, a2, …), axis=0) 数组拼接函数参数:a1,a2……为要拼接的数组axis为在哪个维度上进行拼接,默认为0a = np.array([[1, 2], [3, 4]])b = np.array([[5, 6]])c = np.concatenate((a, b), axis=0)print(c)d = np.concatenate((a...转载 2019-09-02 10:02:00 · 3997 阅读 · 0 评论 -
Python在DataFrame增加一列相同的数据
原DataFrameimport pandas as pdname = ['Cindy','John','Matt']point = [78,87,88]df_grade = pd.DataFrame(name, columns=['name'])df_grade = pd.concat([df_grade, pd.DataFrame(point,columns=['point'])...原创 2019-08-29 16:22:24 · 15625 阅读 · 0 评论 -
List列表转化成DataFrame,多个列表合成一个DataFrame
List转DataFrameimport pandas as pdname = ['Cindy','John','Matt']point = [78,87,88]df_grade = pd.DataFrame(name, columns=['name'])多个List合并成一个DataFramedf_grade = pd.concat([df_grade, pd.DataFram...原创 2019-08-29 10:26:33 · 37971 阅读 · 2 评论 -
Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
问题描述python中使用matplotlib包画图失败文件开头导入matplotlib包# 正负条形图import matplotlib.pyplot as pltimport numpy as np运行程序后报错如下:引用文本Matplotlib is currently using agg, which is a non-GUI backend, so cannot sh...原创 2019-08-27 10:31:10 · 9951 阅读 · 4 评论 -
Python 两个List合并成一个字典,一个List作为Key,另一个List作为Value
list1 = ['k1','k2','k3']list2 = ['v1','v2','v3']方法一dic = dict(map(lambda x,y:[x,y],list1,list2)) #lambda是一个匿名函数print(dic)方法二:print(dict(zip(list1,list2)))方法三print({k:v for k,v in zip(list1,...转载 2019-08-26 13:15:56 · 7668 阅读 · 0 评论 -
python读写json文件
需要用到的python包import jsonimport osjson用来读写文件,os用来获取文件所在路径读文件部分:path = os.path.dirname(__file__)print (path)filename = path +'/zhongyong.json'with open (filename, 'r', encoding='utf-8') as file:...原创 2019-08-23 14:06:11 · 4268 阅读 · 0 评论 -
最大回撤率MaxDawndown算法(Python3)
最大回撤率MaxDawndown含义最大回撤率:在选定周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值。最大回撤用来描述买入产品后可能出现的最糟糕的情况。最大回撤是一个重要的风险指标,对于对冲基金和数量化策略交易,该指标比波动率还重要。公式表达D为某一天的净值,i为某一天,j为i后的某一天,Di为第i天的产品净值,Dj则是Di后面某一天的净值drawdown就是最大...转载 2019-08-16 14:43:37 · 17949 阅读 · 4 评论