![](https://img-blog.csdnimg.cn/20190828161654925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
取啥都被占用
是个业余自学编程的童鞋
展开
-
picamera配opencv做发现移动物体后录像50秒
本来是想配合上一篇写的测距传感器数据打开摄像头录制个50秒实时画面,后来这个测距传感器(因为我是歪用,用来识别范围内的移动物体)给的数据,false alarming还是太高了。于是想到使用本人之前深恶痛绝的opencv来试一试。所以也就有动静的时候,偷摸观察下是比较不错的。下面就是自研的小动静侦测录像代码,真是累死。基本就是自己试出来的,采用的数值可以算是一个时间序列上的二次导了吧,表达画面变化的变化速率(只是单位时间不是1秒而已)。上面是局域网实时画面,但是很多时候,养寄居蟹就是养一盆土。原创 2024-05-19 22:19:42 · 290 阅读 · 0 评论 -
python的Serial 串口缓存区数据处理
没头脑很久没有处理串口数据,今日测试一个测距传感模块,用简单的serial.read没十几秒就屏幕冻住了,不往下print了。后来反应过来是不停访问串口,导致串口数据缓存区溢出了。有一个比较保险的方式如下,简单而言是成块读取缓存区所有的数据,处理完数据以后,再重新读缓存区所有的数据。原创 2024-05-17 11:41:44 · 435 阅读 · 0 评论 -
GPIO的pin针监听以及压力接触器debounce设定的问题
水文大师,粉墨登场。今日一水接触式的压力传感器的脱敏问题。这个东西的应用其实在一些一次性用具的专利里面都有它的影子。另一个是关于如何让装置的灵敏度不要太高,此处其实就是下面add_event_detect函数中的参数bouncetime在起作用,调大点就好。另外吐槽树莓派这上面的gpio pin针表现是不稳定的。比如BCM模式下的GPIO17就很好,用GPIO26就呵呵。pinout图中显示 它们其实都是作为单一功能的GPIO pin,这种相对不稳定表现会很容易让人debug起来困惑。原创 2024-01-21 20:04:05 · 387 阅读 · 0 评论 -
举个栗子~位操作到底有什么用【库仑计芯片MAX17043】
首先吐槽各个平台在卖的五花八门的库仑计芯片EV board,前后试了估计有4家不同的货,终于DFRobot给出最稳定也是最符合MAX17043说明书描述的效果。原创 2023-12-29 12:08:59 · 985 阅读 · 0 评论 -
【开个空调】语音识别+红外发射
废话少说,直接上空调板子:YAPOF3。红外接收发射模块用的某宝上发现的YF-33(遗憾解码还没搞清楚,不然做个lirc.conf功能才多)。最后是语音识别用的幻尔的,某宝自然也有,它是个i2c的接口。本篇胡说八道其实纯粹为了留个地方以后知道怎么在python脚本里面写串口指令。接下来就顺带着讲一下全流程吧。1. 先把幻尔的语音模块里面录好几个要说的话。2. 开启唤醒模式,操控空调。原创 2023-08-23 23:47:26 · 2281 阅读 · 0 评论 -
自制电子农历
其次是室温不用api抓的当地天气,而是采用硬件测温,此处上ds18b20,我发现这玩意儿挺高级,管道测温,水下测温包个不锈钢,下去的也是这个模块,可见敏感度还是不错的,常温区间的精确度已经很高了,要注意它的协议是1-wire(即板子上要初始化w1-gpio)。首先讲讲bom,一来是电子小屏幕的选择,遇到文字比较多的,尤其是汉字,不要选传统那款128x64 oled,绝对放不下(找到最牛的超小免费字体至少要在8pixel以上才能看清楚)。我选了ili9341,觉得趁手。至于农历的相关信息,是api抓的。原创 2023-08-11 00:21:43 · 166 阅读 · 0 评论 -
编账的尽头是数学
反正文章的题目,总是要取牛一点。下面献上适用程序,多元一次方程,求正整数解。要求得数都是正整数。适合的情况最好是元素的数值离总和远一点,太近也没啥意思。因为接近暴力枚举,最好还是不要太多元吧。个人试了下5元还能凑合,再上去有点想哭。是个好东西,但问题是,要用这个,估计数学水平还得高一些。我抽象的理解的不好,基础也不好,只能用线性思维搞定它。我想过用sympy,看着里面的。欢迎取用,变成别的!原创 2023-04-18 04:37:34 · 99 阅读 · 0 评论 -
【烂笔头】获取最多分隔的分隔符分隔的数组;regex针对df某一列的取反集;修复sqlalchemy用to_sql出duplicate entries
【代码】【烂笔头】获取最多分隔的分隔符分隔的数组;regex针对df某一列的取反集;修复sqlalchemy用to_sql出duplicate entries。原创 2022-12-12 20:17:05 · 98 阅读 · 0 评论 -
pymysql写入时,遇到pandas dataframe中有混合的数据类型以及nan值
又碰到"Cannot do inplace boolean setting on mixed-types with a non np.nan value"。当遇到nan值无法写入mysql数据库,如果加上。原创 2022-08-21 16:07:08 · 870 阅读 · 0 评论 -
pymysql用like模糊匹配格式以及nan没有全部转换成None的解决
随手一笔记录数据处理的拔脚毛问题,大前提是万级及以下数据量,这是个能解决问题的办法。import osimport datetimeimport pymysqldef update_rewritten_mark(cur): current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') zczhm_query = """select a.ZCZBHHZBAPZBH from origRegFrWebsit原创 2022-01-27 14:46:05 · 1154 阅读 · 0 评论 -
【三脚猫指路】requests+etree+中文出现乱码的解决方式
今天记录个编码问题的解决方法(好像时不时这个编码问题就会跳出来烦一下)。import requestsfrom lxml import etreereq = requests.get("https://www.cn.com/index.html") #某网页,有中文if req.encoding == 'ISO-8859-1': encodings = requests.utils.get_encodings_from_content(req.text) #这方式其实还能往下琢磨原创 2020-05-08 20:00:59 · 701 阅读 · 0 评论 -
[bitfinex]自动放贷小程序炮制过程描述
重操旧业,又折腾起了空气币。但是这次终于觉得,短放很繁琐(尤其比如放贷7天,人家2天就还了)。天天盯不现实,还是用API搞吧。首先上bitfinex的API文档(我选python系列 + 简明的REST(真的受不了看websocket)):https://docs.bitfinex.com/docs/open-source-libraries 其次如果在一些地区,是上不去的。这时候就涉及到...原创 2020-01-15 21:12:35 · 984 阅读 · 0 评论 -
duck_typing在数据分析中的一个实际应用
首先,这里的重点是duck_typing的应用。 在搞一些基于DataFrame的研究的时候,经常会遇到想增加或者减少x factor的情况。以下这个类来自会是一个特别明显以及容易记忆的snippet,ML了解中的一些其他的知识点就这么被点亮啦啦啦:from sklearn.base import BaseEstimator,TransformerMixinrooms_ix,bedr...原创 2018-08-14 00:13:06 · 200 阅读 · 0 评论 -
【备忘】替换文件中特定字符串(缺re库时)
服务器上跑程序,除了基础python外,连re library都是不能有的,于是只能搞字符操作完成。记一笔,以备日后还要跑上去。###为了把某md文件的段落结构重组,比如原来的##变为###, ###变为####。result_file = open("result_file.md","w")with open('formalizing_rq.md', 'r') as f: ...原创 2019-02-07 15:32:05 · 144 阅读 · 0 评论 -
向前、向后填充的一个实战用法
最近有个需求:枚举0-10的编号,有些编号对应利率0.05,有些是0.1,但是当遇到编号9和10的时候,要看它上一个编号(如果还是9或者10那么还要网上找)。对于我这种只有循环思路的人来说,会觉得写起来有些麻烦,但是pandas很好的解决了这个问,fillna ffill瞬间代码量就小了下来。同时也可以注意字典配合的map用法,简直不要太赞~~~import numpy as npim...原创 2018-11-22 12:28:35 · 2908 阅读 · 0 评论 -
BA必备,获取MongoDB某DB所有collection和其中字段属性
其实MongoDB是可以混用滴,只是单位特殊的情况可以用一下(因为各字段都是单纯数据类型)。from pymongo import MongoClientimport pandas as pdclient = MongoClient('mongodb://ttt:ttt@192.168.2.15:27017/')db = client.datahubcollection_list...原创 2018-11-02 21:57:42 · 7383 阅读 · 0 评论 -
批量写入某文件夹中的csv去到mysql
对我来说这就是不得不写的流水帐。参考完一系列资料以后,改编了一段code希望可以代码复用。import pymysqlimport pandas as pdimport sysimport osdef mysql_to_csv(sql,file_path,host,port,db,user,password): try: con = pymysql.con...原创 2018-09-30 21:37:33 · 324 阅读 · 0 评论 -
多线程与多进程又来啦啦啦
嘿哈~所有一切的第一,感谢谷溪老师的指导。记得一开始写多进程也是谷老师提(xi)议(nao)的。今天由业余级别编程高(cai)手(niao)来给大伙讲讲多线程,多进程这类程式的应用吧。 其实是再一次遇到了一个现实问题,实时行情API调取测速。一上手我写了个这个,#from multiprocessing import Poolfrom multiprocessing.dummy i...原创 2018-09-19 20:34:06 · 301 阅读 · 0 评论 -
使用numpy做线性回归
市面上做线性回归的包不少,以下这款是从原理出发的线性回归解决方案。比起用scikit 包直接套要来的详细一些。贴截图更紧凑,嘿嘿。原创 2018-09-13 21:40:56 · 4767 阅读 · 0 评论 -
selenium+xpath瞎爬爬
要爬些消息,并且不要确定的消息源。需求上selenium + xpath足够。备忘点:1. selenium代理设置2. 页面转化上如何确认process success3. dict写入csv,如何把一个dict的key的values(原始是个list)存成一个item一个单元格。包括如何不打乱顺序。from selenium import webdriverfrom s...原创 2019-03-02 20:48:30 · 284 阅读 · 1 评论 -
单季度报表计算
说白了还是关于pandas包包的操练。备忘:1. 列的drop(基本);2. dataframe的merge;###这个计算方法可以得到最具时效性的单季度报表import pandas as pd######################def get_quarterly_financials(data_points,quarters,max_info_date,orde...原创 2019-03-28 12:21:43 · 606 阅读 · 0 评论 -
由index为timestamp的数据获取股票集合竞价数据
##string变struct_time变timestamp##拿index取记录import timefrom datetime import datetimefrom time import mktimelist_time = get_price("000001.XSHG", start_date=20150107, end_date=20150107, frequency='...原创 2019-04-16 12:44:10 · 3201 阅读 · 0 评论 -
以date为index拿每天应该有交易所数据的ETF
#操练点:##某列含有特殊字符串的整体替换##条件过滤:筛出不含有某字符串的行##字符串格式日期变日期##居然耗时很久在那里想一下子取多个column怎么搞?df[['high','low']]###jupyter notebookimport datetimeimport rqdatacfrom rqdatac import *import accounts ##自己创建...原创 2019-04-17 14:37:26 · 320 阅读 · 0 评论 -
搭建一年完整日历
import datetimeimport accounts ##自己创建,用来存放用户名密码服务器和端口的文件##########交易日历部分trading_list=[]trading_days = get_trading_dates(start_date=20160101,end_date=20161231,market='hk')for daay in trading_da...原创 2019-04-22 16:05:22 · 464 阅读 · 0 评论 -
日级vwap前复权小练习
#不算robust的一个机制,但是批量实现可以参考。后复权要拿该日期前的cum_ex_factor乘一下,这里就不做了。#练习了两个多column同index的dataframe如何做计算。具体参见non_adjust_vwap_day_level。#连乘覆盖df。import pandas as pdimport datetimedef non_adjust_vwap_day_l...原创 2019-05-05 16:14:47 · 445 阅读 · 0 评论 -
停牌期间前复权价格波动检查
#iterrows练习#纪念lambda鲜有的顺手写出来,难得这么pythonic...#最后的最后,挑出连续停牌的方式,值得黄鱼脑袋留念...for stock in stock_list: re_ordered = [] res_of_lists = [] list_contig = [] listed_date = instruments...原创 2019-05-21 21:42:35 · 443 阅读 · 0 评论 -
土鳖版转发imessage去到第三方邮件的方式
因为业务需要,需要做个小工具来转发手机短信(iphone)。据说这个对于android来说没压力的。但是对于爱疯用户貌似挺痛苦(主要applescript用的不6)。以下记录一种曲线救国法,希望帮到有缘人~~~首先请在iphone手机上message.app这个设置里面,打开消息转发(前提就是登陆apple id)。紧接着,转发到mac主机后。来一段底下的python小脚本。再接着,打开...原创 2019-07-07 16:28:00 · 1173 阅读 · 0 评论 -
来一篇自助打卡脚本(简单验证码识别)
搬砖居然要打卡,咩呀!臣妾做不到啊!于是只好想定时任务自助打卡馊主意。打卡机制描述:用账号密码登录到签到页面,然后输入四位数字验证码,点击签到。一开始想直接执行js脚本(selenium.execute_script),签到。发现验证其实是带到服务端做的,所以此路不通。于是只好上tesserocr加持我打卡。安装精髓看这里。tesserocr其实是在用tesseract,所以act...原创 2019-09-22 12:16:59 · 2033 阅读 · 0 评论 -
第一个复杂模型搭建
基本python了解之后,开始看和金融相关的python,上手的第一个模型就是bsm-valuation里面的volatility。这里推荐一下 Python For Finance_Analyze Big Financial Data by Yves Hilpisch。 个人觉得还是蛮手把手的。这篇的主题就是它的第一个相较复杂的模型。模型搭建的技术难度主要在于有些模块可能不容易安装,这里推荐一下原创 2016-12-14 13:49:35 · 727 阅读 · 0 评论 -
【备忘】string转datetime64
大概背景:在把公司的申万分类开始日期改成和他对应股票的上市日期一致:import rqdatacfrom rqdatac import *rqdatac.init()import pymongofrom pymongo import MongoClientclient = MongoClient('mongodb://dab:dat@192.168.0.8:27017/')d...原创 2018-08-01 12:48:57 · 884 阅读 · 0 评论 -
【备忘】从redis取出的list变dataFrame和订阅功能记录
嘿哈!没头脑又要来记一笔了。import redisimport pandas as pdimport jsonrr = redis.from_url("redis://192.168.0.41:6379/2")values = rr.lrange('603768.XSHG', 1,480)the_list = [json.loads(v.decode()) for v in...原创 2018-07-20 17:12:03 · 599 阅读 · 0 评论 -
XMLFeedSpider例子
还是用xml的模板爬xml 来的直接。TestItem in items.py:class TestItem(scrapy.Item): id = scrapy.Field() name = scrapy.Field() description = scrapy.Field()main:from scrapy import logfrom scrapy.contrib.sp原创 2017-03-17 19:29:06 · 872 阅读 · 0 评论 -
用scrapy爬xml
要爬特定的asset type做实验。想来想去还是用scrapy来试试。还是挺带感。 下面放个低配版。用火车采集,那个文件是跑了五个小时,每个网址间隔200毫秒。# -*- coding: utf-8 -*-import scrapyclass MyxmlSpider(scrapy.Spider): name = "PortfolioXML" f = open("Batch.t原创 2017-02-23 15:53:14 · 1751 阅读 · 0 评论 -
形象理解python的lambda
看scrapy的selector用法碰到个例子,发现它其实对于理解lambda很有疗效。>>> from scrapy import Selector>>> sel = Selector(text="""....: <ul class="list">....: <li>1</li>....: <li>2</li>....: <li>3原创 2017-03-20 14:33:29 · 311 阅读 · 0 评论 -
boy, it's hard to get in the news
This topic is about the foo bar site left in the project 4 in the textbook: ‘Beginning Python - From Novice to Professional’. It’s hard to find a nntp site to allow use newnews command. Below is one原创 2017-01-31 23:04:23 · 472 阅读 · 0 评论 -
CGI脚本基础环境+Postgresql
装完apache,打通网路之后,基本就可以写python cgi了。Apache会用python去执行目标脚本显示在页面上。这篇主要记录一下环境里面的基本要点。#!/usr/bin/env python #前面这段#!必须要,是在告诉apache用python执行改文件#把用户组和用户改为www, 整个cgi-bin的权限去到775#目前server的cgi脚本都放在/usr/lib/cgi-原创 2017-02-12 05:59:58 · 407 阅读 · 0 评论 -
改写书上过期的例子
“Beginning.Python.From.Novice.to.Professional,2nd.Edition” 里面的347-348 of 667 (pdf page),因为网页更新,原来的例子已经不能用啦。下面是我改的最新版的python2.7下的代码。#使用HTMLParser的爬虫from urllib import urlopenfrom HTMLParser import HTM原创 2016-12-26 00:15:36 · 314 阅读 · 0 评论 -
连到了自己的服务器就很满足
今天闲着没事,了解下网络编程。依然用Python(这货的库确实齐,准备也很少),很快搞定。#PC endimport sockets = socket.socket()host = socket.gethostname() #Change to the server IPport = 1234s.connect((host,port))print s.recv(1024)#Server end原创 2016-12-14 21:56:37 · 281 阅读 · 0 评论 -
一到数据库,眼睛总是亮闪闪
咦咦意呀啊~~(笑傲江湖主题曲)import sqlite3def convert(value): if value.startswith('~'): #~开头和结尾的当中就是字符串 return value.strip('~') #所以去掉两个~ if not value: #要是没值 value = '0' #给个零 return fl原创 2016-10-29 22:12:03 · 499 阅读 · 0 评论 -
模板代码白话版
Python基础教程第二版上的代码。 继续嫌解释不够啰嗦,所以自己继续整白(xia)话版。 代码运行效果是这样滴: 两个argu的顺序不能错哦,必须先magnus后template。 magnus存各种会更改变量比如名字。template存不动的模板,然而里面也有些许变量。 magnus: [name = ‘Jone Wong’] [email = ‘JWz054@126.com’]原创 2016-10-08 23:23:43 · 355 阅读 · 0 评论