
python
文章平均质量分 53
songroom
这个作者很懒,什么都没留下…
展开
-
dbpystream:证券股票数据服务API开源
基于上面的痛点 ,dbpystream的目的是根据自身的业务需要,把企业内部的数据进行服务化,让企业内的员工能方便得到数据服务,而不再让数据服务只是一小部分人的特权,让数据可以在更广泛的层面得到充分的利用,并发挥数据驱动业务的价值。dbpystream只做整合部分,不能替代供应商API,是对供应商API服务包装,为了让服务更好的落地,而供应商API做的是一套完整的生产和质量管理流程。供应商的API的服务质量是dbpystream的天花板,没有优秀的供应商服务(源头),就不可能有好的内部服务。原创 2024-03-01 18:05:26 · 674 阅读 · 0 评论 -
Python:关于数据服务中的Web API的设计
需要说明的是,这里讨论的是web api前后端,当然还有其它方案,thrift,grpc等。在web api的基础上,可以提供封装sdk库,供前端函数式调用服务或纯手动写restful api 的方式,自己封装调用函数服务。可以考虑在前端提供不同的选择,比如,是python sdk模式(提供安装包),还是纯restful模式(手写post,get等),以及不同的语言选择,来指定特定后端的序列化和压缩库的选择,便于前端有更好的适用性和体验。不仅需要考虑性能,选择读写高效的库,而且还要考虑跨语言的问题。原创 2024-02-29 08:49:10 · 916 阅读 · 0 评论 -
Python: 打包发布到PyPi及踩坑经历
经常会碰到python包要打包成sdk放到PyPi上开源的情况。下面的操作具体参考:https://packaging.python.org/en/latest/tutorials/packaging-projects/。原创 2022-11-21 16:27:02 · 5449 阅读 · 0 评论 -
python : pandas 中多重索引multiindex与多个标的dataframe
多个标的dataframe,如何转成多重索引的dataframe.有点象,有中证500股票的数据,如何把这500只股票,整成一个多重索引的dataframe?500只股票,整成一个多重索引的dataframe?原创 2022-10-12 11:20:39 · 3941 阅读 · 0 评论 -
python :解决import库与绝对路径与相对路径的一种方法
设计 了一个足够复杂的文件情况(如上和如下),其中,a.py和aa.py之类函数模块,test_a.py和test_aa.py分别为引用的模块。这样看看,他们之间是如何引用的,有什么规律。我们在同级的test_a.py、test_aa.py,test_aaa.py等中,调用不用的a.py,aa.py,aaa.py,bb.py,bbb.py。原创 2022-09-12 14:05:27 · 1876 阅读 · 1 评论 -
python: float64与float32转换、压缩比较与转换偏差
1、互转的类型中,DataFrame和np.array是比较方便互转的。3、压缩时间也差了一倍(近似);原创 2022-09-08 14:12:56 · 9172 阅读 · 0 评论 -
Python:jwt和zlib库import与pip名不同
在python3中,有一些import 与pip不同名的库,如果想当然,你会发现老装不上。原创 2022-09-05 11:33:53 · 631 阅读 · 0 评论 -
Python:关于datetime与int互转的自写库
手写一个关于datetime互转Int的库,自用。原创 2022-09-03 10:44:00 · 1271 阅读 · 0 评论 -
Python: github ksrpc原码解读---HTTP异步文件交互
在ksrpc库中,采用了异步文件交互的方式,值得一看。原创 2022-09-02 15:01:35 · 706 阅读 · 0 评论 -
Python:__call__和__getattr__组合黑魔法
具体代码中,的确有class JQDataClient的定义,但没也没有看到里面有get_price呀。如果不细看,你感觉很正常呀。在github上jqdatasdk库中,有一段这样的代码,让人感觉到很神奇。通常我们能单用一个,就已经不常见了,更不用说,把这两个组合起来用了。二、细说一下__call__和__getattr__组合黑魔法。难道,对象可以调用任意的函数?不会吧,还有这么随便的。下面,做一下简单的POC测试,来验证一下。其实,准确的说,还有一个query()。在api.py文件中。原创 2022-09-02 09:10:11 · 501 阅读 · 0 评论 -
Python: pickle与msgpack
【代码】Python: pickle与msgpack。原创 2022-08-23 17:38:36 · 505 阅读 · 0 评论 -
Thrift : Python RPC的实践,从网络到IDL类型
thriftpy2是对thriftpy的一个封装,不需要gen-py这一步,代码更加简洁。Thrift协议的学习资料最好去github上 找专门的库,看examples就可以了。远程调用的数据传输效率比较HTTP WEB API 要高,所以实践一下RPC的方案。4、需要在client和server端生成gen-py文件夹。5、各启动server.py和client.py,即可了。相关的库:thriftpy或 thriftpy2。1、tf_service.thrift文件。一、thriftpy库。......原创 2022-08-21 17:04:08 · 2045 阅读 · 0 评论 -
python: 邮件收发-以QQ邮箱为例
python 如何实现邮件登陆发送接收等功能?原创 2022-06-22 16:01:08 · 1118 阅读 · 0 评论 -
换源解决pip超时问题: pip._vendor.urllib3.exceptions.SSLError
操作:(tensorflow_venv) songroom@DESKTOP-MEDPUTU:~$ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow问题:pip._vendor.urllib3.exceptions.SSLError详见:(tensorflow_venv) songroom@DESKTOP-MEDPUTU:~$ pip install -i https://pypi.tuna原创 2022-05-03 07:26:21 · 3877 阅读 · 0 评论 -
clickhouse: A股bar数据与物化视图尝试
一、设计听说projection 可以加快clickhouse的查询速度,重新设计表格: create_sql = f"""CREATE TABLE if not exists {db_name}.{table_name} ( code UInt64, date Date, datetime DateTime,原创 2022-03-05 19:48:45 · 492 阅读 · 0 评论 -
Clickhouse:分区和数值化优化实测
在前期CK尝试中,对bar分钟线的数据并没有分区和字符串数据的处理。本次拟在这两个方面进行优化。优化1: 关于分区。按每个股的数据进行分区,目前分区的粒度偏细,这样宏观上有22亿条数据,会分出的区就会近4000块。优化2:数值化。把个股的代码转化成int类型,减少字符串的比较操作。一、优化尝试1、代码from clickhouse_driver import Clientimport pandas as pdimport osfrom datetime import datetime, d原创 2022-02-19 19:49:25 · 2370 阅读 · 0 评论 -
详解Python中pyautogui库的最全使用方法
详解Python中pyautogui库的最全使用方法在使用Python做脚本的话,有两个库可以使用,一个为PyUserInput库,另一个为pyautogui库。就本人而言,我更喜欢使用pyautogui库,该库功能多,使用便利。下面给大家介绍一下pyautogui库的使用方法。在cmd命令框中输入pip3 install pyautogui即可安装该库!常用操作我们在pyautogui库中常常使用的方法,如下:import pyautogui pyautogui.PAUSE = 1 # 调用在转载 2022-02-19 14:03:58 · 39236 阅读 · 3 评论 -
Python+Wind:用 Pyautogui 轻松下载 Wind 数据
Python+Wind:用 Pyautogui 轻松下载 Wind 数据作者: 张翠燕(山东大学)邮箱: zcy1992yan@163.com目录1. 问题背景2. 准备工作3. 简单介绍 3.1 Wind 数据库中诸如控股或参股公司该类指标在哪? 3.2 本文示例中用到的 pyautogui 包中相关函数的详细介绍 3.3 获取上市公司股票代码列表4. 代码实现过程相关课程 课程一览连享会 - Python 专题连享会 - 文本分析专题问题背转载 2022-02-19 13:27:20 · 4611 阅读 · 1 评论 -
TDengine:A股分钟线数据的尝试
一、TDengine的下载、安装1、从官网上下载即可。2、上传到指定端我是从WSL上传到工作端,云服务器上。songroom@staff-NB-146:/mnt/d$ scp -r -P 19622 TDengine-server-2.4.0.7-Linux-x64.tar.gz click@103.10.3.83:~/taosclick@103.10.3.83's password: TDengine-server-2.4.0.7-Linux-x64.tar.gz原创 2022-02-16 10:13:44 · 1840 阅读 · 0 评论 -
ClickHouse:A股分钟数据的查询速度的测试[下]
但在小样本数据的查询上,比如对于某个标的,需要查5-10万量级的数据,这个优势不太明显。1、my_db.stock_tb: 是一个22亿行,大约15列的大表且是单一表,压缩后的空间在50G,压缩率约30倍;目前看,总体还算凑合,当然其主要优势在于跨品种查询上优势还是比较明显;但单一品种的查询优势不太明显。此表存了2010年以来的所有A股的1分钟线数据。相当于查询近一年的全A股市 的数据花的时间。2、我在家用电脑中WSL2下进行的单机方式测试,内存32G。(2)、标的和日期的多条件查询。原创 2022-02-15 21:20:43 · 1166 阅读 · 0 评论 -
Clickhouse: A股分时线bar数据python实验-批量导入[上]
from clickhouse_driver import Clientimport pandas as pdimport os;from datetime import datetime, dateimport timeimport mathdef get_all_files_by_root_sub_dirs(directory, file_type): data = list() if os.path.isdir(directory): # 是目录 dir_lis原创 2022-02-13 21:58:56 · 1693 阅读 · 0 评论 -
ClickHouse:存储A股数据实践
ClickHouse存储A股数据实践Quant最爱用Python的交易员等作者:量化投资与机器学习公众号独家撰写量化回测,苦于MySQL久矣,特别是进行股票日内因子构建分析或全市场因子测试的时候,每当按下回车时,MySQL就跟丢了魂一样,查询费时,大吞吐量读取也非常耗时。虽然MySQL的优化技巧足够写一本书,但这些都需要交给专业的DB工程师去做,量化打工人没有能力更没有时间倒腾这些。那有没有省时省力,高效存储股票行情数据的解决办法呢。带着这个问题,编辑部简单的搜索了一下,总体分为几个方案:1转载 2022-02-12 21:02:51 · 2081 阅读 · 0 评论 -
python: ubuntu下把py2.7改成py3
root@iZ9ni05fy7agndgpndc7gsZ:/usr/bin# ls py*py3clean py3versions pyclean pydoc pydoc3 pygettext pygettext3 python python2.7 python2-config python3.5 python3m pyversionspy3compile pybuild pycompile pydoc2.7原创 2022-02-12 15:15:47 · 1104 阅读 · 0 评论 -
python生成公共包(SDK)
python生成公共包(SDK)https://www.jianshu.com/p/ea9973091fdfhttps://zhuanlan.zhihu.com/p/162842824原创 2022-01-25 14:47:20 · 989 阅读 · 0 评论 -
Python:同花顺全数据接口
# -*- coding: utf-8 -*-from iFinDPy import *from datetime import datetimeimport pandas as pdimport time as _timeimport jsonfrom threading import Thread,Lock,Semaphoreimport requestssem = Semaphore(5) # 此变量用于控制最大并发数dllock = Lock() #此变量用来控制实时行情推原创 2022-01-24 20:27:52 · 38981 阅读 · 7 评论 -
Python : async和await、asyncio与aiofiles
import asyncioimport timeimport mathimport pandas as pd## cpu compute typeasync def async_main(n): total = 0 for i in range(n): total = total+ math.sin(i) return totalasync def async_main_k_times(n,k): tasks = [] for i in原创 2022-01-09 19:50:34 · 1609 阅读 · 0 评论 -
python : pandas库的后继者polars库
polars库是python的又一dataframe库,显然,在pandas库的光芒下,要上位是不容易的,必须有过硬的功夫。一、用法基本一致从介绍上看,两者有孪生相,用法和接口基本无二。至少大部分非常非常相似。估计很多只需要在import 这行改一行,估计就能用上了。安装:pip install polars 也可以通过镜像,这样快一些。二、速度polars优势明显import time import polars as plimport pandas as pdfile = r"C:原创 2021-12-14 19:35:27 · 5252 阅读 · 2 评论 -
python: 动态网页playwright 爬虫实践
喜欢上某个基金网站,但是数据基本上是动态网页的方式,看了一下selenium,requests方案,后面选择了playwright,折腾了一天,基本上可以出相关数据了。一、同步方案from asyncio.windows_events import NULLfrom playwright.sync_api import sync_playwrightimport pandas as pdimport asyncioimport refrom playwright.async_api impor原创 2021-11-28 20:27:47 · 3438 阅读 · 0 评论 -
win10系统开发环境快速安装Playwright python的方法
https://blog.youkuaiyun.com/phoenix339/article/details/112446757?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242.1转载 2021-11-27 18:50:44 · 443 阅读 · 0 评论 -
Flask: flask + tornado+ nginx组合
在本地完成大部分开发后,迁移到阿里云生产环境。因为是小网站,选择了windows平台,但是后端又选择了flask框架,只能选择tornado web容器和nginx组合。其实,nginx都没有必要,只是为了试着玩玩,看看生产环境如何配置。tornado代码很简单,就是一个server.py.具体在阿里云上:我选择了生产环境配置了一台ecs服务器。server name 是阿里云上绑定对应域名的www.myweb.com(假定)的主页地址。端口需要看ecs网络安全组对应的端口设置。允许有相应的访问权限原创 2021-11-10 21:42:55 · 3901 阅读 · 0 评论 -
Flask:an ImportError was raised问题解决
当我把一个flask项目文件夹转移动新的环境时,发现经常出现一个问题“an ImportError was raised”感觉其它操作没有问题,但为什么会产生这个原因呢?其实这个问题的造成的原因,就是:from flask_cors import CORS # 导入模块from flask_login import login_manager, UserMixinimport pandas as pd上面三个库没有安装,但python报错的信息过于不清晰,无法定位。后面分别pip insta原创 2021-10-20 14:50:20 · 6051 阅读 · 0 评论 -
python : 读取csv最快的Datatable的用法
2021年7月1日,官方正式发布了1.0Datatable版本。1.0版本支持windows和linux,以及Macos。 具体文档可以见:https://datatable.readthedocs.io/en/latest/start/using-datatable.htmlDatatable与众不同就是快!需要说明的是,使用Datatable库需要python3.6及以上版本。import datatable as dtimport pandas as pdimport timefro原创 2021-10-17 12:10:38 · 1981 阅读 · 0 评论 -
python: 大规模数据集的读存技巧
大规模数据集的读存技巧养生的控制人浙江大学 控制科学与工程博士在读文章来源:https://www.kaggle.com/rohanrao/tutorial-on-reading-large-datasets本文以Kaggle上最近的Riiid竞赛为例,介绍几种大数据集的读取技巧,因为在大数据面前,常规的pd.read_csv 很容易就会爆内存了。不同的库有不同的读取方式,这里主要介绍以下几种:pandasDaskDatatableRapids除了能从csv文件中读取数据,还有一种常见转载 2021-10-17 09:40:36 · 1492 阅读 · 0 评论 -
python3短信接口
#接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。#账户注册:请通过该地址开通账户http://user.ihuyi.com/register.html#注意事项:#(1)调试期间,请使用用系统默认的短信内容:您的验证码是:【变量】。请不要把验证码泄露给其他人。#(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取;#(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;#!/usr/local/bin/python#-- coding原创 2021-10-13 08:22:47 · 273 阅读 · 0 评论 -
Python:关于装饰器的理解
代码能说明.....原创 2021-09-25 21:01:41 · 151 阅读 · 0 评论 -
【linux基础】linux更改python默认版本
https://blog.youkuaiyun.com/qq_35061334/article/details/109191123其中,精华在于whereis python这样可以直接在已经安装好的基础上,直接找到地址。转载 2021-09-22 16:03:38 · 153 阅读 · 0 评论 -
Python: Flask后端与webapi
和django相比,Flask真是轻。也没那么多复杂。一、简单模版下面是__init__.py文件:import osfrom flask import Flaskfrom flask_cors import CORS # 导入模块def create_app(test_config=None): # create and configure the app app = Flask(__name__, instance_relative_config=True) CO原创 2021-09-20 08:08:09 · 480 阅读 · 0 评论 -
PyO3: python调用rust代码尝试
PyO3功能很强大,是python和rust之间交互桥梁。今天主要试验一下python端调用rust端编译的代码库。说明:本文环境中在windos平台下。linux平台或其它平台请参看github上pyo3的说明。一、rust 端在rust端创建pyrust库文件:cargo new pyrust --lib同时在lib.rs文件中,写入以下代码:其中,#[pyfunction]是指写入rust方法,pyo3自动会转成python能调用的函数;#[pymodule]是指把这些函数放在一个mo原创 2021-04-25 11:41:24 · 4965 阅读 · 0 评论 -
Julia:调用python函数的几种方法
几年前尝试过用julia调用python代码(函数),虽然都用PyCall,看起来很方便,但是系统性的总结却不多。1、julia调用python现成库中函数# 调用python中现有的库using PyCallmath = pyimport("math")v = math.sin(math.pi / 4) # returns ≈ 1/√2 = 0.70710678...println("v:",v)2、直接在Julia中写python代码using PyCall@pyimport num原创 2021-04-10 20:32:26 · 3865 阅读 · 1 评论 -
Python : Arrow、Pyarrow库、以及与Julia互读
test.csv 样例:一、从csv =>table=>生成arrow文件import pyarrow as pafrom pyarrow import csvcsv_path = 'C:\\Users\\songroom\\Desktop\\test.csv'table = csv.read_csv(csv_path)#df = table.to_pandas()#table = pa.Table.from_pandas(df)path = 'C:\\Users\\songr原创 2020-12-03 22:59:49 · 5949 阅读 · 0 评论