- 博客(25)
- 资源 (20)
- 问答 (1)
- 收藏
- 关注
原创 python 使用Pip管理本地库
本地通过setup.py方式建立一个本地的python库项目,然后通过pip install .的方式进行本地安装,便于多个项目中快速引用。首先建立一个库项目,项目文件目录如下:qlibs│ setup.py│└─qlibs formula.py __init__.py其中:setup.py是安装配置文件 qlibs是库源代码目录(注意:名字必须与setup.py中name一样,否则findpackages()找不到)setup.py的语法可以网
2022-05-14 11:24:04
1256
1
原创 Python pandas Dataframe常用操作封装
1、查询、设置指定某元素值2、末尾增加一行或多行3、满足列值条件的指定位置插入一行或多行4、删除满足列值条件的一行或多行import pandas as pd'''DataFrame常用计算'''def df_get_item_value(df, col1, col1_value, col2) -> any: '''满足col1列值条件时,返回col2列第一个找到的元素值''' return df.loc[df[col1] == col1_value, [
2022-05-13 10:10:41
846
转载 Python丢弃不用的返回值
python的函数支持返回多个值。返回多个值时,默认以tuple的方式返回。1、因为返回值是元组,所以可以通过索引取得某个或某几个返回值a = f()[0]b = f()[1]2、使用双下划线__或更多下划线___________# 丢弃第二个返回值a, __ = f()注:为什么不使用下划线_,因为下划线_在python中有多种意义,所以使用下划线不安全。...
2022-05-03 22:09:54
1129
原创 Python3 浅拷贝copy()和深拷贝deepcopy()方法
List列表、Dict字典等对象经常进行常量赋值时,不能直接使用等于号=进行赋值(浅拷贝,只赋值了内存地址,相当于是引用),需要使用copy()方法进行对象复制DICT_INIT = {'A': 0, 'B': 0}dictA = DICT_INIT.copy()...
2022-05-02 13:10:46
1038
原创 Python判断输入字符串是小数的方法
数字用isdigit()方法小数用eval()和isinstance()结合print('100'.isdigit())print(isinstance(eval('1.1',float))
2022-04-15 13:36:49
3303
1
转载 Dataframe添加行、列的方法
在Pandas的DataFrame中添加一行或者一列,添加行有df.loc[]以及df.append()这两种方法,添加列有df[]和df.insert()两种方法, 下面对这几种方法的使用进行简单介绍。一、添加行添加一行,采用loc[]方法# 构造一个空的dataframeimport pandas as pddf = pd.DataFrame(columns=['name','number'])# 采用.loc的方法进行df.loc[0]=['cat', 3] # 其中loc[
2022-01-24 16:57:34
47151
原创 Pandas Dataframe按某列的条件获取指定元素值
def df_value(df, symbol, col) -> any: '''返回dataframe中指定[symbol,col]行的元素值''' return df.loc[df['symbol'] == symbol].at[0, col]
2022-01-21 10:22:28
1590
原创 Windows下遍历子文件夹进行Git更新的bat脚本
for /d %%i in (*) do ( cd %%i && git pull && cd..)pause
2022-01-21 10:19:03
450
原创 Python Watchdog 触发多个事件
文件创建的动作其实会触发多种事件,包括FileCreatedEvent以及FileModifiedEvent事件,触发FileEventHander中重写的on_created函数以及on_modified函数,这些事需要注意的,原因在于f=open()这样的文件操作会触发FileCreatedEvent事件,执行on_created函数,文件操作f.flush()和f.close()操作会触发FileModifiedEvent事件,执行on_modified函数。在windows系统下,watchdo
2022-01-15 13:50:14
1266
原创 DataFrame删除指定条件的行
import pandas as pddf1 = pd.DataFrame(data=[{'symbol': '000001', 'close': 1.0}, {'symbol': '000002', 'close': 2.0}, {'symbol': '000001', 'close': 3.0}])symbols = ['000001', '000002']print(df1.index[df1['symbol'] == '000001'])print(df1.index[(df1['sym.
2022-01-12 22:52:27
13982
原创 华为快应用开发三种场景:本地单机、体验版、正式版
1、使用体验版调试快应用RPK快应用IDE右上角发布,选择体验版,然后在手机应用市场搜索“快应用研发助手”,打开后调试“体验版”,也可以发给其他人,通过“快应用研发助手”,输入6位体验码进行体验。2、单机使用快应用RPK安装快应用加载器:下载-快应用IDE (huawei.com)快应用IDE内菜单构建RPK包(或者Ctrl+F8),完成后在项目dist/子目录下,通过各种方式把rpk包发送到手机,然后通过快应用加载器进行本地加载即可。3、发布快应用1)本地发布快应用,需要创建或
2021-12-16 14:22:12
690
原创 Windows Server IIS通过URL重写实现转发REST API到内部API Server
1、安装URL Rewrite、ARR 插件Web Platform Installer : The Official Microsoft IIS SiteURL Rewrite : The Official Microsoft IIS SiteApplication Request Routing : The Official Microsoft IIS Site2、配置URL重写规则添加空白规则:填写匹配条件,这里配置的Rule必须是所有匹配,即^.*(我也不知道为什么)
2021-12-12 18:29:47
1442
原创 Windows server 2016 配置IIS支持Flask框架
1、pip install flask, wfastcgi启用:到Scripts/目录下输入命令wfastcgi-enable运行成功后会提示一下文字:"c:\program files\anaconda3\python.exe"|"c:\program files\anaconda3\lib\site-packages\wfastcgi.py"这段文字非常重要,后续在配置程序映射的时候会用到。2、IIS安装CGI3、安装URL Rewrite 2.0Web Platform Ins
2021-12-05 23:50:28
1439
原创 pandas dataframe行条件筛选过滤
满足多个判断条件的行。使用 & 对判断语句进行合并。import pandas as pdimport numpy as npdf = pd.DataFrame(np.arange(16).reshape(4, 4), index=pd.date_range('20200101', periods=4), columns=list('ABCD'))print(df)df_slice = df.loc[(df['A'] == 4) & (df['C'] == 6)]pri
2021-11-22 11:30:05
3341
原创 通达信DLL函数开发
官方样例:https://www.tdx.com.cn/products/userdoc/%E9%80%9A%E8%BE%BE%E4%BF%A1DLL%E5%87%BD%E6%95%B0%E7%BC%96%E7%A8%8B%E8%A7%84%E8%8C%83.rarVisual Studio Community,安装Desktop C++打开官方dsp文件,如果生成报错:/Gm,打开项目属性,关闭/Gm。注意:一定要用Win32。将生成的dll文件拷贝到主程序的\T0002\dlls目录
2021-11-22 10:17:07
12259
原创 request卡死处理
添加timeout 添加try-except异常处理import requestsimport tracebacktry: res = requests.post(url=URL, json={"message": msg}, timeout=2) if res.status_code != 200: print(res.text)except: traceback.print_exc()
2021-11-10 12:21:35
490
原创 Python打印异常调用栈
import tracebacktry: # 风险代码except: traceback.print_exc() # 处理代码
2021-11-10 12:17:51
1259
原创 DataFrame指定列的数据类型
创建时,通过dtype指定,但是这种方法只适合整个DataFrame内所有数值都是一个类型的情况 创建后,可以通过astype来修改指定列的类型 从csv读取时,通过dtype可以指定多列的不同类型import pandas as pddf = pd.DataFrame(columns=['col1','col2'],dtype=int)df.astype('float')pd.read_csv(pathfile, index_col=0, dtype={'col1':str}).
2021-11-10 12:11:17
8878
原创 Pandas DataFrame读取csv文件Unnamed问题
使用DataFrame.read_csv()时,必须设置index-col=0,否则会自动在最前面加一列indexpd.read_csv(pathfile, index_col=0)
2021-11-10 11:54:30
1640
转载 Pandas DataFrame迭代器
iterrows():将DataFrame迭代为(insex, Series)对。 itertuples():将DataFrame迭代为元祖。 iteritems():将DataFrame迭代为(列名, Series)对import pandas as pd inp = [{'c1':10, 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}]df = pd.DataFrame(inp)# iterrowsfor date, ro...
2021-11-09 18:53:41
1364
转载 Python Pandas CSV文件读写操作
注意:在读取csv文件的时候,默认会自动添加新的一列,Unnamed。设置index_col=0即可。import pandas as pdimport os# read_csvif os.path.exists(data_pathfile): rd= pd.read_csv(data_pathfile,index_col=0)# to_csvos.path.exists(path) or os.makedirs(path)rd.to_csv(pathfile).
2021-11-09 18:46:03
201
转载 Python Tkinter销毁窗口事件
import tkinter as tkfrom tkinter import messageboxroot = tk.Tk()def on_closing(): if messagebox.askokcancel("Quit", "Do you want to quit?"): root.destroy()root.protocol("WM_DELETE_WINDOW", on_closing)root.mainloop()
2021-11-09 16:44:47
3854
转载 Python Tkinter ListBox添加滚动条Scrollbar
from tkinter import *root = Tk()lb = Listbox(root,exportselection=False,height=3)list_item=['1', '2', '3', '4这里很长我需要拽过来~~~~~~~~~~~~~~~','5','6','7']for i in list_item: lb.insert(END,i)scr1 = Scrollbar(root)lb.configure(yscrollcommand = scr1.se.
2021-11-09 12:03:17
1800
原创 Python Tkinter ListBox:通过Listvariable设置ListBox数值
from tkinter import *root = Tk()mylist = ['one', 'two', 'three']var = StringVar(value=mylist)box = Listbox(master=root, listvariable=var)box.pack(fill=BOTH, expand=True)mylist.append('four')mylist.remove('two')mylist.insert(3, mylist.pop(1)).
2021-11-09 10:51:06
1673
原创 Python Tkinter Grid布局理解
Grid布局需要配合使用控件的width/height , row/column, sticky这三个属性才能处理好。width/height:修改控件大小,不配置的话是使用控件默认的大小。有些很奇葩的情况,比如ListBox默认很窄,而ScrolledText默认很宽。注意width/height单位是文本宽度,即一个英文字符显示的宽度,而不是像素值(padx/y,geometry都是像素值)row/column:控件放置的行列,Grid名字来源就是这个属性。这是个相对的概念,并没有绝对的大小。每个
2021-11-09 07:27:41
1506
1
黑客与画家(hackers and painters)
2013-03-22
Wu Manber算法代码
2009-12-21
RegexBuddy-v3.1.0
2009-12-21
数字图像处理系统VC源码
2008-11-13
计算机数学-Math for CS(MIT课程资料)
2008-11-07
算法导论MIT课程内容
2008-11-07
Nehe的OpenGL教程(中文版)
2008-10-31
The Joy of Patterns(程序设计模式)
2008-07-29
C++编码风格(C++ Coding Standards)
2008-07-29
搬迁老版优快云的笔记到博客
2021-11-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人