可能的函数
yukai08008
这个作者很懒,什么都没留下…
展开
-
Python一些可能用的到的函数系列132 ORM-sqlalchemy连clickhouse
继续ORM的转换。原创 2024-09-06 10:40:22 · 970 阅读 · 0 评论 -
Python一些可能用的到的函数系列131 发送钉钉机器人消息
来自顾同学的助攻钉钉机器人可以用来发送一些重要的系统消息,例如磁盘将满等等。原本还可以有更强的功能,就是监听群里的消息,然后做出反应,不过这个好像要买企业版,贵的毫无意义。钉钉发消息有几种模式,一种是按关键字过滤的,还有一种是按签名发送的。这次顾同学帮我梳理了按签名发送的函数。原创 2024-09-01 11:44:19 · 408 阅读 · 0 评论 -
Python一些可能用的到的函数系列126 UCS函数
嗯,想想发现,其实标准的时间格式,本来就做了层级的顺序编号。如2024-01-01 11:11:11,无非是要把2024,01,01,11提取出来即可。根据起止时间,可以获得两个时间对应的起始月。因此,只要生成从起始月(1号)开始的所有天,然后再根据小时就可以生成所有的brick_name。最常见的是mysql的自增ID,因为这种范式比较好,所以我在Mongo(主库)里也实现了一个机制,可以自动进行编号。一个大月有744个brick,一年不到9000, 十年不到9万,感觉上这个切分还是可以的。原创 2024-05-02 23:41:23 · 336 阅读 · 1 评论 -
Python一些可能用的到的函数系列125 FSM工具transitions
以上,已经可以使用transitions 用于一类简单的应用:进行非常小的图状态管理。从图的查询来说,是从某个点触发,某一个有向边指向的下一个节点。原创 2024-03-04 15:40:32 · 927 阅读 · 0 评论 -
Python一些可能用的到的函数系列124 GlobalFunc
GlobalFunc是算网的下一代核心数据处理基础。算网是一个分布式网络,为了能够实现真的分布式计算(加快大规模任务执行效率),以及能够在很长的时间内维护不同版本的计算方法,需要这样一个对象/服务来支撑。GlobalFunc支持通过web请求来完成计算,通常要求输入和输出都是可json序列化的;同时也支持作为一个本地对象被引入和使用。另外一个核心点是智能化。智能化的一个前提是代理化,而不是直接调用。GlobalFunc允许使用参数化字符串来声明调用,这样每一次的操作是可以被其他算法/程序解读的。原创 2024-02-15 16:38:06 · 1304 阅读 · 0 评论 -
Python一些可能用的到的函数系列123 ATimer2-时间偏移
之前确定了时间轴(千年历),以及时间的转换方法。其中时间轴的数据将会存储在集群,以及通过RedisOrMongo保存部分常用的数据。本次讨论时间偏移的度量问题。原创 2024-01-31 23:11:50 · 981 阅读 · 0 评论 -
Python一些可能用的到的函数系列122 ATimer2
由于时间处理在算网中起到了更重要的作用:不仅是进行时间计算,而是成为架构规范的一部分,因此需要对ATimer进行升级,成为一个基础依赖对象。原创 2024-01-24 18:39:26 · 836 阅读 · 0 评论 -
Python一些可能用的到的函数系列121 用正则批量替代KV
在处理NLP的标记数据时,可能会用到。原创 2023-06-14 15:21:36 · 78 阅读 · 0 评论 -
Python一些可能用的到的函数系列120 拟合斜率
虽然很简单,但是要用的时候可能不一定能找到。拟合斜率是很简单,但是很实用的功能。给定一组数列,拟合这组数列的斜率。原创 2023-03-04 13:12:49 · 599 阅读 · 0 评论 -
Python一些可能用的到的函数系列118 最大回撤函数
作用就不说了,比较了一下其他几个包,未来会再进行改进。原创 2022-11-16 10:21:05 · 433 阅读 · 0 评论 -
Python一些可能用的到的函数系列117 字符串转换python对象
在服务化的过程中,具体说是参数传递的过程中,需要用到这个。原创 2022-11-10 09:37:43 · 391 阅读 · 0 评论 -
Python一些可能用的到的函数系列115 获取ubuntu主机名
我基于ubuntu搭建了分布式环境,并基于此进行一些对应的开发。在这个前提下,当我们启动一个程序,无论是worker还是server,其位置都是比较重要的。例如,worker启动后,要向server请求数据。如果能判断这两者的关系,那么就可以选择最合适的网络。所以,至少对于worker来说,要知道其自身的机器。原创 2022-10-19 15:53:14 · 349 阅读 · 0 评论 -
Python一些可能用的到的函数系列114 数据格式判断listofdict
这是我主要用的数据格式。原创 2022-09-26 14:25:26 · 150 阅读 · 0 评论 -
Python一些可能用的到的函数系列113 shard分片计算
辅助在mongo中的分片操作。根据某些规则,从某个字段计算出对应的存储分片。原创 2022-09-19 10:53:04 · 199 阅读 · 0 评论 -
Python一些可能用的到的函数系列112 pandas的组内排序(分组排序)
这个功能比较少用,但是要用的时候就很有用。原创 2022-07-20 11:55:34 · 368 阅读 · 0 评论 -
Python一些可能用的到的函数系列110 按自增id自动切块运行
我觉得python的一些对象设计应该有一些缺陷(没有验证),至少我碰到了几种情况,导致了内存膨胀,或者处理速度非常慢:具体的执行指定一个具体的处理逻辑,只要输入起始和终止id就可以进行任务,要用的时候进行偏置就可以了。大约5分钟读取了一亿的数据,可以直接进行分析。...原创 2022-06-05 20:22:15 · 168 阅读 · 0 评论 -
Python一些可能用的到的函数系列109 时间与字符串互转
还是记一下,很容易忘,高级方法总是一时找不到…将时间戳转为字符,或者将字符转为时间戳。原创 2022-06-03 22:27:32 · 73 阅读 · 0 评论 -
Python一些可能用的到的函数系列108 动态时间间隔
通过两次执行时间的差值来决定下次执行的时间。几个例子原创 2022-06-02 11:19:33 · 188 阅读 · 0 评论 -
Python一些可能用的到的函数系列107 正则提取省份
说明正则比较容易忘,记一下内容这种写法会同时找n个「|」分割的模式,返回是一个元组province1_str = '(云南|台湾|吉林|四川|安徽|山东|山西|广东|江苏|江西|河北|河南|浙江|海南|湖北|湖南|甘肃|福建|贵州|辽宁|陕西|青海|黑龙江)省?|(上海|北京|天津|重庆)市?|(内蒙古)自治区?|(宁夏)回族自治区?|(广西)壮族自治区?|(新疆)吾尔自治区?|(西藏)自治区?|(澳门|香港)特别行政区?'这种写法只会返回一个匹配到的,但是会把省市区都带出来province1原创 2022-05-28 11:33:38 · 1031 阅读 · 0 评论 -
Python一些可能用的到的函数系列106 计算字典哈希
说明虽然python后面补充了有序字典,但是平时习惯还是用普通的字典。但是当我们希望给这个字典计算唯一哈希的时候,就要加一道处理了。内容函数# 哈希函数import hashlib# 将文本去掉空格,返回md5 摘要def md5_trans(x): md5 = hashlib.md5() if isinstance(x, str): x1 = x.strip() md5.update(x1.encode("utf8")) else:原创 2022-05-25 22:44:08 · 163 阅读 · 0 评论 -
Python一些可能用的到的函数系列105 使用popen和re.split获取并解析命令行结果
说明这种方式比直接在shell里面写awk之类的要友好很多,毕竟到了python里面处理就容易了。内容1 函数os的这个函数很有意思,可以认为通过os.popen执行后会产生了一个类似文本文件的内容。import os# 执行shell命令,返回文本段def popen(some_cmd): with os.popen(some_cmd) as f: res = f.read() return resimport re# 按连续空格或者制表符分割def原创 2022-05-14 19:48:23 · 252 阅读 · 0 评论 -
Python一些可能用的到的函数系列104 均匀切分列表
说明有时候批次数量有限制,所以需要将列表按步长均匀切分。在func_dict服务做好之前,我觉得写在csdn也不错。内容我写了两个版本,一个版本返回下标;另一个则直接返回按批次切分后的列表。1 返回下标# 指定最大最小的值,按照步长划分slice listdef slice_list_by_batch1(min_idx, max_idx, batch_num): batch_list =list(range(min_idx, max_idx + batch_num , batch_num原创 2022-05-12 22:44:37 · 227 阅读 · 0 评论 -
Python一些可能用的到的函数系列103 JSON序列化:Object of type ‘timedelta‘ is not JSON serializable
说明主要是一些特殊数据类型无法序列化,写一个类来进行通用的转换。内容一般的jsonimport jsonimport numpy as np # json ----json.dumps(data, cls=MyEncoder) class MyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, np.integer): return int(obj)原创 2022-04-18 17:46:00 · 683 阅读 · 0 评论 -
Python一些可能用的到的函数系列102 推断df的变量类型
说明这个主要是为了在sql里快速建表内容对每列的变量进行遍历,去掉空之后进行简单的判定。数值(double、float和date)的数据长度是固定的,变化比较大的是字符型。我觉得可以采用最大最小的方式限定其极值。函数# 1 变量最终要推断为几种类型:int, float, varchar , datetime # 2 逻辑看,对每一列进行循环,丢掉空值分析。对这列尝试日期转换,然后尝试数值转换。# 3 日期转换若成功,那么就是date。如果数值转化失败那么就是字符, 取最大长度的两倍和制定原创 2022-03-28 17:20:22 · 990 阅读 · 0 评论 -
Python一些可能用的到的函数系列101 图片base64的IO处理汇总
说明已经写过一些相关的内容,现在完整的串一下。内容图片可以以文件形态、字符串形态和矩阵形态存在。1 文件形态对于计算机,都是二进制2 读取一个图片并展示文件形态下,可以使用特定的包(或者软件)代开一张图片并展示。这里,特定的包已经将二进制数据处理成了我们期望的展示方式。当图片读入内存后,通常都是矩阵形态, 例如Image和numpy之间就可以方便的转来转去。3 以二进制字符串方式读取一个图片要进行传输时,我们通常要「序列化」。可以想象,字符串是序列化的,下面读取原始的字符串信息原创 2022-03-08 14:00:15 · 733 阅读 · 0 评论 -
Python一些可能用的到的函数系列100 生成markdown的行
说明一些通知性的内容可以使用markdown格式进行整合内容函数内容# 制作一些markdown格式的行def make_a_markdown_line(x,x_ref = 'http://www.baidu.com', etype = None, change_line ='\n\n'): # 普通正文 if etype is None: etype = 'body' allow_etypes = ['title','body', 'c1', 'c2','原创 2022-02-11 14:14:00 · 628 阅读 · 0 评论 -
Python一些可能用的到的函数系列99 字符型数据转换
说明所有数据的类型本质都是字符串这里会有一个比较重要的问题:数据推断。事实上人也在不停的数据推断,例如“十二加三”中的汉字会被我们自动推断为阿拉伯数字,而类似“廿”这样的数字推断就更高级了。这里不做推断,只是做一些简单的字符转换。内容函数代码如下,唯一的要求是x是json Seriazable的(可json序列化的)。# 简单的标量字符推断 1.字符串 x 2.变量名 _str 4.false_val 发生失败的返回值。list和dict都是json字符串。import jsondef原创 2022-02-11 13:48:14 · 210 阅读 · 0 评论 -
Python一些可能用的到的函数系列98 筛选读取mysql的键值集合
说明有时候需要做两个表键值的比对,字符型的键值以md5为例,即使是1亿的记录也就是是3.2GB的大小,放在本地是完全可行的。这里写一个从mysql从获取键值集合的函数内容函数import tqdm# msyql:通过一个range变量获取某个key变量的集合def mysql_get_key_set_by_range_var(table_name, key_var, range_var='id',range_start = None, range_end= None, step=10000,my原创 2022-02-09 11:29:10 · 460 阅读 · 0 评论 -
Python一些可能用的到的函数系列97 读取特定后缀的文件列表
说明ES和接口服务做好,现在就可以把之前的文档(主要是md)都批量上传。这个函数主要是提取一个文档下md文件的列表文件,经过简单加工就可以存入es。内容函数内容import os # 给定一个文件夹,读取指定后缀(默认md)文件的内容。返回字典列表ListOfElements def read_doc_for_es(some_folder ='./', suffix = '.md'): res_list = [] cand_list = os.listdir(some_fol原创 2022-02-04 21:27:56 · 198 阅读 · 0 评论 -
Python一些可能用的到的函数系列96 数据节点对象
说明用于数据节点的交互,方便对数据进行持久保存和交换内容对象如下# 规范数据节点的格式# 1 实例化# 2 数据的输入 input_data# 3 检查元数据是否有遗漏 rf_process_meta# 4 *修改属性 modify_attrimport requests as reqimport osimport jsonclass DataNode: def __init__(self,name , fs = None, slot = None, dntyp原创 2022-01-27 08:43:12 · 89 阅读 · 0 评论 -
Python一些可能用的到的函数系列95 字符串base64编码与解码
说明主要解决web交互时的一些问题内容函数如下import base64# 将字符串转为b64编码的字符串def b64encode_str(some_str): # 1 先将字符串转为二进制 bin_str = some_str.encode('utf-8') # 2 将二进制字符串编码 b64_bin_str = base64.b64encode(bin_str) # 3 返回utf8编码字符串 return b64_bin_str.dec原创 2022-01-25 20:55:51 · 341 阅读 · 0 评论 -
Python一些可能用的到的函数系列94 字典相除
说明首先,字典和字典是不能直接相除的。但是通过转为Series是可以的,似乎还很高级。内容1 当键值不相等缺失的那个是NaNa = {'a':1, 'c':3, 'b':2}b = {'c':3, 'b':4,}pd.Series(a) / pd.Series(b)a NaNb 0.5c 1.0dtype: float642 无意义除法分母为0的那个是inf(如果分子为负就是-inf)a = {'a':1, 'c':3, 'b':2}b = {'c':3,原创 2022-01-18 23:57:34 · 456 阅读 · 0 评论 -
Python一些可能用的到的函数系列93 时隙的watch back和overlook
说明处理时隙时容易迷失, 因此在处理前先整理好时隙的关系。内容时隙是一个整型序列,内容如下假设窗口都为10, 向前看(back)# 给定时隙序列和窗口,进行回看(watch back), 生成回看时隙字典【符合左闭右开】def watchback_slots(data_slots, window = None, is_added_slot=False): data_slots1 = sorted(list(data_slots)) # 如果没有添加过当前时隙(下一时隙)原创 2022-01-18 18:25:13 · 534 阅读 · 0 评论 -
Python一些可能用的到的函数系列92 校验对象 Validator
说明这个对象的作用是对数据(x)进行校验,主要在于丰富数据类型的定义,目前比较少。内容# keepmeimport numpy as np # 简单构造一个验证类class Validator: def __init__(self): pass @staticmethod def isValidArray(x): check1 = 0 check2 = 0 try:原创 2022-01-15 19:10:15 · 805 阅读 · 0 评论 -
Python一些可能用的到的函数系列91 返回列表中最多的元素(众数)
说明有时候只需要返回众数,用pd.Series会略显笨重。内容from collections import Counter# 返回列表中最多的元素(1个)def get_mode_of_list(some_list): counter_dict = Counter(some_list) counter_dict_keys = list(counter_dict.keys()) return counter_dict_keys[0]# 测试aList = [123原创 2022-01-14 17:44:48 · 286 阅读 · 0 评论 -
Python一些可能用的到的函数系列90 连续序列信号识别
说明这个函数的来源问题是:根据一条边上有若干信号的点,将信号分为若干段。对应的有信号坐标为目标是分出 5~19和48~61这两段。内容这个需求可以进一步泛化为:给定一个时间序列,根据其序列值变化的绝对值或者百分比进行切分。返回 open, close, high, low, window5个变量计算基本统计量函数import numpy as np # 计算一个序列的 open, close, high, low, windowdef arr_standard_kpi1(som原创 2022-01-14 11:45:00 · 248 阅读 · 0 评论 -
Python一些可能用的到的函数系列89 标准时间轴函数
说明这里的标准是以分钟级为刻度,和时间戳对齐的意思之前提到过,我的分析将着重在分钟级。目前看来很多应用没有这个东西就不好往下推了(To Data Mill)。本篇简述生成时间轴的方法,以及一个最简单的变换函数。内容生成一个时间轴数据(可以认为是元数据)作为准静态数据,使用时下载到本地再执行函数即可。1 生成方法生成时间轴不能一次映射,先映射天,再映射时/分之前估算过,如果要进行完整的一一映射,分钟级的时间轴至少420M(天级别的不到300k),这样就很不便于分布式使用。从万年历原创 2022-01-12 16:04:28 · 232 阅读 · 0 评论 -
Python一些可能用的到的函数系列88 向量keepme 提取ipynb的内容
说明在探索的时候用ipynb比较方便,不过部署的时候通常是py形式,本篇做一个简单的函数来提取ipynb中的有用内容,保存为py。内容做一个字符串口令, 函数将ipynb中含有此口令的单元格提取出来假设样例为ipynb可以用json方法导入我们可以判定哪些单元格有执行print(keepme)命令的行,将这些代码单元格抽取出来,再写入一个py文件就好了。函数import json# 读取一个ipynb,抽取含有口令行(print(keepme))的代码单元格,保存为pydef i原创 2022-01-11 18:14:49 · 175 阅读 · 0 评论 -
Python一些可能用的到的函数系列87 向量移动
说明假设获得了一份时序向量,我喜欢可以向前和向后移动,形成一个矩阵。内容输入一个向量,按照指定的步长和填充值进行移动。import numpy as np # 向量滑动位移为矩阵 direction=1 向过去移动,-1向未来移动def roll_arr2mat(some_arr, step=1, fillna= 0, direction=1, is_sort=True): # 确保向量为一维 some_arr1 = np.array(some_arr).ravel()原创 2022-01-07 16:51:45 · 688 阅读 · 0 评论 -
Python一些可能用的到的函数系列86 base64字符转图片(文件流)
说明文件一般是以二进制方式存储的,在传输的时候一般会转为utf-8编码的字符串。内容1 将图片文件转为字符串假设存在一个文件,我们要将其读取并转为字符串,以便向服务器请求# 将图片文件转为utf-8字符串import base64def read_a_pic_and_convert2_str(some_fpath): with open(some_fpath, 'rb') as f: pic_str = base64.b64encode(f.read())原创 2021-12-30 19:03:24 · 514 阅读 · 0 评论