自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 使用python实现短线选股

经常做短线的朋友都知道,选股是个较为复杂的工作,尤其是像我们这种非职业选手,下面就分享一些通过python实现选股的思路。

2023-09-17 18:11:32 1143 1

原创 python在程序并发时如何保证文件安全,lock的简单运用

我们经常会遇到这种场景,我们得任务是并发的,但是我们依赖的配置文件确是共用的。 而python对文件的写入却又往往不是原子性的。比如我们常用open函数,是先读取文件再写入文件,在关闭文件。 如果此时有多个文件同时操作同一个文件则是十分危险的。比如现在有如下的场景。 我们现在有一项计算需求,就是将文件中的数值加上某一个值。 我们来看下打印的结果。 我们惊奇的发现,报的错为空字符串,所以int失败。那么为什么会这样呢,正如我们刚才所说,python的open函数并不是原子性的。所以在一个线程

2022-06-18 16:10:44 1103 1

原创 在什么场景下要使用类方法

静态方法和类方法的比较我们先来创建一个类,假设他是检测报告的相关信息。class Report: inspection = "negative" def __init__(self, name, id_number): self.name = name self.id_number = id_number那么这个类就很简单,他有检查结果,被检测者的名字和number等信息。那么此时我们想加一个方法,其实这个方法更类本身并无关系(也就是说这个函数可以)

2022-05-01 00:03:37 1248 1

原创 flume快速使用及简单配置

安装准备java中有蛮多简单好用的工具类,flume作为一个轻便的集数据监控、传输、管理为一体的工具是非常常用的,这里简单对其作一个快速使用。flume非常轻便,只要有jdk环境即可。快速使用做数据挖掘往往会接触各种不同来源的日志数据,比较高效的是将其定时写入如es、hdfs、hive等集群中进行统一分析,挖掘。这里简单进行一个示例,为flume监控本地日志到hdfs。#a1是agent的名称,a1中定义了一个叫r1的source,如果有多个,使用空格间隔# 如 a1.sources = r1

2022-01-14 00:59:56 339

原创 python 操作yaml 配置文件

前言除了json、xml外yam同样是一种较为常见的项目中所用到的配置文件。这里和大家一起快速入门。如何书写我们先来看示例name: yuhuaoccupation: writercomposition: 1991: 在雨中呐喊 1992: 活着 1999: - 黄昏里男孩 - 现实一种比如我们现在想把余华的相关信息用yaml表示。就这样简单的使用,name: yuhua代表键值对。如果要书写新的键值对只需再起一行如occupation: writer即可。如

2021-11-11 00:52:10 1923

原创 python中 is、==、>、<究竟是如何比较的

is 比较的什么先说结论:is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;s1 = "nnm"s2 = "nnm"s1 is s2id(s1), id(s2)True(2047633770800, 2047633770800)这里虽然定义了两个变量,但是他们指向了同一字符串,也就是说内存地址是一样的。我们在看下序列对象的比较。l1 = [1, 2, 3]l2 = l1.copy()l1 == l2l1 is l2id(l1), id(l2)TrueFa

2021-08-27 11:17:43 582 2

原创 python 对经典数据结构的简单实现

目录前言队列栈链表树结构前言我们在日常开发中,可能语言本身的数据结构难以满足开发。这里简单的来实现一些经典的数据结构。队列我们可以使用list轻松的实现队列queue1 = []queue1.insert(0, 'a')queue1.insert(0, 'b')queue1.insert(0, 'c')print(queue1)['c', 'b', 'a']queue1.pop()aqueue1.pop()b然而,这是低效的,因为当您向开始添加新元素时,列表必须按一

2021-08-09 17:50:47 222

原创 通过电影票房预测来一览机器学习一般流程

前言学习机器学习很久了,最近也一直从事相关工作。这里通过电影票房预测来和大家,了解机器学习处理的一般流程。数据集为kaggle上的tmdb5000的电影数据集,算法使用的是相对容易理解的knn算法。硬件则是普通的笔记本。获取数据相关包的引入import pandas as pdimport numpy as npfrom sklearn.preprocessing import StandardScalerfrom sklearn.model_selection import train_t

2021-07-23 22:24:18 4512 8

原创 部署bert server 报错 Cannot convert a symbolic Tensor (bert/encoder/strided_slice:0) to a numpy arra

错误原因在部署bert-as-service时 fail to optimize the graph一直报这个错,网上解决办法很多但是大都复杂解决办法是因为tenosflow 和 numpy 版本不对应导致的,numpy版本过高pip install numpy==1.16.0

2021-06-29 18:20:07 1517 4

原创 asyncio.run() cannot be called from a running event loop 解决方案

问题发生在jupyter中运行异步编程import asyncioasync def crawl_page(url): print('crawling {}'.format(url)) sleep_time = int(url.split('_')[-1]) await asyncio.sleep(sleep_time) print('OK {}'.format(url))async def main(urls): for url in urls:

2021-06-25 16:09:28 3674 5

原创 ValueError: The number of classes has to be greater than one; got 1 class解决办法

解决办法在使用支持向量机做分类模型训练时出现的问题解决办法我们的训练样本集的类别y只有一个类型导致的

2021-06-07 12:00:54 1574

原创 windows环境下部署pyspark环境

安装前需要准备spark安装包pysaprk下载spark安装包下载链接: spark下载不得不说现在spark支持度越来越高,官网给出了清华镜像源的地址。下载之后把他解压到本地,然后记住这个位置,后面要用到。这样就ok了pycharm部署使用pycharm新建一个项目...

2021-05-31 11:54:28 299 2

原创 python中生成器与迭代器到底有什么区别?一文带你彻底搞清楚

目录前言迭代器生成器二者区别生成器的巧妙使用后记前言为什么会有这篇文章?今天我的同事w君问我,你知道生成器和迭代器的区别吗。我一时不怎么能说清楚,这时候网上搜一些文章,发现写的大都是介绍两种,而并没有过多解释区别。经过自己一般翻阅资料及理解与探索,我觉得这篇文章是可以解释清楚两种对象的区别的。当然在介绍区别之前,我也帮大家回忆一下迭代器与生成器的定义。迭代器我们先来看一段代码list1 = [1,2,3]for i in list1: print(i)123这是初学者也

2021-05-12 12:04:24 16484 4

原创 python进阶之路,你必须熟练掌握的关于类的用法

目录类的继承简单的继承类方法的重写构造函数的继承类中的特殊方法classmethodstaticmethodproperty类中的私有属性及方法私有属性私有方法让实例变得可迭代类的继承简单的继承class Person: # 定义一个父类 def talk(self): # 父类中的方法 print("person is talking....") class Cooker(Person): def walk(self): print

2021-05-08 17:32:02 297 7

原创 ModuleNotFoundError: No module named ‘test.

注意引入的项目名不能含有test,这样默认会从test模块去寻找。也就是说命名要规范,新建的package不能以test命名。

2021-05-08 16:41:54 1682

原创 初窥门径——字典的更好使用方式

字典推导式列表推导式可能我们已经十分熟悉了,但是其实字典推导式也同样非常实用。exam_list = [ ['alibaba', 'china'], ['tencent', 'china'], ['orcale', 'america']]exam_dict = {compancy:country for compancy,country in exam_list}exam_dict{'alibaba': 'china', 'tencent': 'china', 'orc

2021-04-19 15:13:45 403 1

原创 Apriori算法在web安全机器学习中应用的思考

aprioriapriori算法是在数据挖掘领域中出现的较高的对于频繁项的提取。频繁项的意义就是某几项物品出现的联系。网络安全主要预防的问题现在网络安全主要遇到的问题是web攻击的相关问题,而这些问题则又集中在sql注入,xss攻击等方式进行攻击,随着机器学习的发展。也越来越多的人开始尝试机器学习在web安全上的相关应用。url进行识别目前做的比较多的网络安全的预测方式一是通过tf对url进行聚类处理,一种则是通过一些url的特征变量来进行模型训练。这两种方式的准确率也因项目不同而不一定。ap

2021-04-02 18:03:23 377 6

原创 pandas dataframe如何快速进行数据筛选

目录数据初始化选择某一行通过loc选择某一行通过iloc选择某一行选择某一列最简单的方法选择某一列通过iloc选则某一列通过loc选择某一列选择某一行的某几列或某一列的某一行选择某一行的某几列通过行列自由组合去选择数据选择某几列或者某几行选择某几列选择某几行获取单个标量值通过iat去获取通过at去获取数据初始化import pandas as pdimport numpy as npa=np.array([['北京','北方','一线','非沿海'],['杭州','南方','二线','非沿海'],[

2021-04-01 11:10:21 1808 8

原创 pyspark 编写udf函数及自定义聚合函数

前言不得不说,udf函数在spark开发中是非常方便的。有了这个提供,我们不仅可以操作spark dataframe。还可以直接操作数仓(hive)而无需再去过多精力研究hive的udf的编写。值得高兴的是pyspark同样也支持udf的编写,我们知道初期的spark对于python并不十分友好,随着版本的更新也给python提供了更多的接口。udf函数的编写这个其实就是把python的函数绑定spark的udf函数中。我们先来初始化我们的数据源。 df = sc.parallelize([

2021-02-26 15:10:39 1772

原创 FAILED: ParseException line 22:19 mismatched input ‘,‘ expecting < near ‘array‘ in list type

错误发生在hive新建数据表中报了此错误 > rule_list array, > type_list array, > status smallint > > ) 发现错误原因是最后几行解决办法hive的array属于复杂的数据结构,这个数据结构不是容器型。hive中好像也没用容器型的数据结构,需要再array中指的数据类型。修改为 > rule_list array

2021-02-23 15:00:20 2817

原创 spark failed to launch: nice -n 0 spark-2.4.3-bin-hadoop2.6/bin/spark-class org.apache.spark.dep

错误原因failed to launch: nice -n 0 /data/app/spark-2.4.3-bin-hadoop2.6/bin/spark-class org.apache.spark.deploy.history.HistoryServer在开启spark 历史任务时,报了以上的错。解决方式是因为spark-defaults.conf spark-env.sh 在配置日志存放地址的hdfs目录时端口使用了9000与我们hadoop下配置的hdfs目录不同,改成一样的即可。.

2021-02-04 15:49:00 966 1

原创 django 的一些基础知识

样式变量说明举例list_display可显示数据库字段list_display = [‘id’, ‘name’]list_filter右边栏过滤器list_display = [‘id’]search_fields搜索search_fields = [‘id’]ording排序ordering = [‘id’]list_per_page每页显示的数据条数list_per_page = 5readonly_fields只读的字段re...

2021-01-24 19:09:27 112

原创 数据挖掘之单因子探索

前言在数据挖掘中其实并无特别明确的规范,因为各家业务场景不同。所需要分析的测重点也不尽相同。可以说是千人千面,大家使用的工具五花八门。spss、python、r、tableau、各种书籍更是层出不穷,所以关于数据分析。大体都有自己的灵活运用、但是无论如何变换这些分析都是对数据结合数学的运用。也具有着大体相同的流程。探索性分析=>预处理=>建模=>模型评估=>改进探索性分析我们刚见一个人,如果想像别人介绍这个人。大都会介绍这个人的高矮胖瘦。而探索性数据分析就是做完成这一步,

2021-01-14 17:04:07 282 1

原创 元组一定不可变吗(一个有趣的边界问题)

元组可变吗这个问题恐怕不需要讨论,哪怕刚学习python的同学都知道在python的性质中列表可变,元组不可变。最近看到一个有趣的案例与大家分享一下。元组一定不可变吗下面我们来看一下示例tuple1 = (1,2,3,[4,5])tuple1[3]+=[6]这个执行结果是什么吗?TypeError Traceback (most recent call last)<ipython-input-2-32ec33a4c5d

2021-01-14 09:54:47 599

原创 pandas 实现两个dataframe相减的方式

方式一a=np.array([['北京','北方','一线','非沿海'],['杭州','南方','二线','非沿海'],['深圳','南方','一线','沿海'],['烟台','北方','三线','沿海']])df1=pd.DataFrame(a,index=[1,2,3,4],columns=['城市','地理','级别','是否沿海']) 城市 地理 级别 是否沿海1 北京 北方 一线 非沿海2 杭州 南方 二线 非沿海3 深圳 南方 一线 沿海4 烟台 北方 三线 沿海假如我们把

2020-12-29 18:44:52 18901 6

原创 快速掌握使用 python多线程、多进程

前言随着计算机硬件的发展,不再是以前单核时代。我相信任何一门语言,多线程和多进程都是重中之重。这篇文章将全面系统的对python多进程与多线程进行理解及应用。gil锁对于线程和进程的基本知识大家应当都足够清楚了。由于这篇文章着重是对应用的讲解,所以这里就不过多进行介绍。什么是gil 锁其实gil 锁这种叫法并不合理。 gloabal interperter lock 则是gil的缩写,他是一...

2020-12-28 23:04:53 319

原创 从列表元组引申来看python中的序列类型

提到python的序列类型,我们第一能想到的可能就是列表跟元组了。我们再深入的想一下,可能又能想到。列表可变,元组不可变。但是其实他们的意义却不仅如此?我们知道任何一门语言的序列类型都会分为可变和不可变。但是其实还有第二种分类,就是是否可以存放不同类型的数据。也就是我们所说的扁平序列和容器序列。这两种序列那种更好呢?当然是看具体使用了。python中的序列类型中标准库提供的有list、tuple、collections.deque、str、bytes、bytearray、array.array其他类包中比较

2020-12-20 00:12:23 425 3

原创 matplotlib如何自定义坐标轴的数值单位

如题我在用tableau转到matplotlib中作图时,感觉不是很智能。尤其是y坐标轴的值,不能自动的进行转换。这样就显得很不好看。这样就显得y轴上的坐标值很大,看着很不舒服。解决方法:from matplotlib.ticker import FuncFormatterplt.gca().yaxis.set_major_formatter(FuncFormatter(y_update_scale_value))plt.gca().xaxis.set_major_formatter(Func

2020-12-18 11:55:58 9066 1

原创 成功解决 ValueError: Shape of passed values is (3, 1), indices imply (3, 3)

错误原因_data = pd.DataFrame([index, uri_data_list, first_data], columns=[‘index’, ‘uri_list’, ‘first_uri’])解决方法_data = pd.DataFrame([[index, uri_data_list, first_data]] , columns=['index', 'uri_list', 'first_uri'])...

2020-12-11 18:07:41 15751 1

原创 python dataframe 选择某一列非空的行

如下所示data 为 dataframe 对象 col 为对应的列data[(data["col"].notnull()) & (data["col"] != "")]

2020-12-09 10:28:18 12574

原创 初窥门径——通过游戏人物建模来窥探python的对象模型

目录Python进阶系列说明游戏人物建模游戏主角具有自己特质游戏主角的性质是不可变的namedtuple 的用法人物集合类属性范围确定建立人物模型建立人物模型管理类len的用法__getitem__用法Python进阶系列说明我一直的观点就是像玩一样学习,能达到最高的效率。就像人只有与环境产生一种和解,一种高贵的顺从的姿态,才能活的最舒服。我想让我的文章变得易读又不啰嗦,尽力写好这一专栏。一是希望帮助到其他Python开发者,二者也是为了自省。在您阅读的过程中,无论是语法上的错误,还是专业上的错误。

2020-11-25 17:41:06 2576 10

原创 尝试理解一些经典排序算法(python)

标题排序算法冒泡排序算法描述图形展示代码实现代码优化选择排序算法描述图形显示代码实现插入排序算法描述图形显示代码实现设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入排序算法排序算法,在算法中属于比较重要的。虽然大多数编程语言大都有优化的比较好的排序api,但在真正的开发过程中这些现成的api不一定适合业务的需求。尤其是大数据量的排序时。冒泡排序冒泡排序

2020-11-19 18:07:50 159

原创 python笔试题深浅拷贝的关系

变量与对象之间的关系在python中,万物皆可为对象。这并不是一句空话,事实上在python中小到一个字符串,大到一个函数,一张Dataframe数据表都是一个对象。在上图中,我们把a赋值为5,那么是否就可以说a是一个整型对象呢。事实不是这样的,或者说这种说法不够严谨。a只是一个变量,他的地址指向了5这个整型对象。我们再把a的值赋给b,打印发现两个变量的id相同。说明两个变量指向了同一个对象。这个时候我们对a重新进行赋值。这时候我们发现a的重新赋值,并不影响b的结果。事实上也是这样,a的重新赋

2020-10-15 17:59:06 310 2

原创 图解flask核心对象以及运行原理及Working outside of application context的解决办法

前言前面几章对flask的一个基本的使用进行了一个入门,那么这一章将会对flask的核心对象以及其运行原理进行讲解。画张图吧与其枯燥的干讲,不如画张图吧。

2020-09-26 23:46:52 798

原创 spark wordcount 实现中 python 与 scala 的对比

前言学习spark已经有一段时间了,当时是用python做数据处理,觉得速度不是我们想要的,于是使用了pyspark。使用了之后发现有些错误不能有效追踪,于是学习了scala。这篇文章是简单对比一下两种语言的的spark开发的异同点。pyspark实现conf = SparkConf()sc = SparkContext(conf=conf)counts = sc.textFile(sys.argv[1]).\ map(lambda x:x.split("\t")).\ map(

2020-09-25 18:37:07 558

原创 scala 入门(六) 隐式转换

前言上一章,对scala的高级函数做了一个介绍,并简单的做了一个词云的小应用。scala的高级函数是一个难点,是scala能否用好的一个关键点,而scala的第二个难点就是隐式转换了。隐式转换千呼万唤始出来,犹抱琵琶半遮面。在生活中做事,说话隐隐约约的东西更能让人浮想联翩,感觉美妙。事实上在编程中也是如此。比如你想加薪了,你又不好意思直接跟老板说。你可以说“哎呀,天气冷了,现在得衣服都好贵呀,一件衣服半月工资,衣服都买不起了”。这个时候你的老板自然而然就知道你想加工资了,如果同意给你加自然就给你加了

2020-09-22 18:01:53 149

原创 scala入门 (五) scala高级函数用法

前言上一节对scala的匹配模式,做了一个大致的介绍。这一节将对scala的高级函数进行一个入门。作为一门函数式编程语言,想要用好这门语言,scala函数的高级用法还是比较重要的。同样再介绍相关知识的时候,会和python进行对比。字符串高级操作格式化字符串操作在Python中格式字符串的方式比较多,比如format方法。而在scala里这里仿佛把他变得更简洁s"字符串$变量"前面一个s声明这个字符串内部有格式化字符串的方法,具体用法如下 val name = "dada" printl

2020-09-21 15:45:30 886

原创 scala 入门(四)scala模式匹配

前言在上一章中对scala的集合型数据结构做了一个初步的认识及入门,这一节将简单介绍一下scala中的模式匹配。基本数据类型的模式匹配

2020-09-20 23:58:09 139

原创 scala入门 (三)初识scala集合

前言上一章对scala对象进行了一个初步的了解,这一章将对scala集合进行一个入门,同样这一章将会把没一个知识点和python做对比,所以这一系列文章更适合的是学习scala的python程序员。定长数组新建数组方式一val array1 = new Array[String](5)新建数组方式二 val array2 = Array("one","two","three")数组的赋值和取值这点和python 类似,只不过python用的中括号,这个用的小括号。同样如果取索引为3的

2020-09-18 15:46:05 173

原创 scala 入门(二)初识 scala 对象

前言    上一节对scala函数进行了一次初步的入门,包括scala的基础类型,函数命名,参数书写,条件表达式与for循环等。这一节则对scala 对象 进行一个初步的入门。类的构造scala 在类的构造中,提供两种构造方法。也就是两种构造器,一种是主构造器,类似于python类中的__init__方法。class Person(val name:String, val age:Int) {}其中的name、age 则为 具体 的属性除了主构造器外,

2020-09-16 15:32:01 134

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除