- 博客(60)
- 资源 (17)
- 收藏
- 关注
原创 python -- Pandas replace自定义函数做数据替换
Pandas 作为python最常用的数据包之一经常会被用到,其涉及数据替换的方法有很多,下面简述我了解的几种方法:1. 常用的series 的 replacereplace(self,to_replace=None, # 替换前的数据value=None, # 替换后的数据inplace=False, # 是否修改源数据limit=None, # 修改限制regex=False, # 是否使用正则method=“pad”, # 填充方式,还有‘ffill’ 和‘bfill’)1
2020-09-15 18:00:45 2498
原创 pyecharts学习6--多x轴和多y轴,多图叠加
多坐标轴先上图:两个x轴和两y轴先看extend_axis的源码片段: def extend_axis( self, xaxis_data: Sequence = None, xaxis: types.Axis = None, yaxis: types.Axis = None, ):其中只有xaxis_data而没有,yaxis_data,因而y轴的添加不能一步完成, 因为数据是绑定到y轴的添加额外的x轴:直接使用.
2020-06-24 17:50:56 18659 2
原创 python tkinter实现文件的拖入功能
tkinter 文件的拖入tkinter 目前自带有filedialog模块可以实现打开目录选择文件,但是要像我们平时将文件拖入到框内即加载文件就有没有模块加载了,当然,没有万能的python做不到的,既然源生tkinter 没有,那就借助其他模块喽引入 tkdnd以windows为例下载tkdnd windows binary 解压后放入python目录 xxx/python/tc...
2020-04-23 11:09:59 14658 21
原创 pyecharts学习2--自适应屏幕居中显示
pyecharts 自适应屏幕居中显示pyecharts生成的html默认是靠左上显示的需要生成的文件居中显示,且能根据浏览器窗口大小自动调整需要修改html当然,如果你是html高手且不嫌麻烦的话,手动修改html文件的几个数据即可修改:1.获取浏览器窗口长和宽2.设置显示区域长宽百分比:width:95%; height:95%;3.设置据中国参数:margin:auto;4....
2020-04-22 18:14:18 7938 7
原创 python 遍历目录下所有文件
遍历目录获取所有文件和子目录def get_file_path(root_path,file_list,dir_list): #获取该目录下所有的文件名称和目录名称 dir_or_files = os.listdir(root_path) for dir_file in dir_or_files: #获取目录或者文件的路径 dir_file_path = os.path.join(root_path,dir_file) #判断该路径为
2021-10-10 09:07:26 954
转载 1 分钟内对 Linux 进行性能诊断
当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢?Netflix 在 AWS 上有着大规模的 EC2 集群,以及各种各样的性能分析和监控工具。比如我们使用 Atlas 来监控整个平台,用 Vector 实时分析 EC2 实例的性能。这些工具已经能够帮助我们解决大部分的问题,但是有时候我们还是要登录进机器内部,用一些标准的 Linux 性能分析工具来定位问题。最开始的 60 秒在这篇文章里,Netflix 性能工程团队会介绍一些我们使用的标准的
2021-09-01 08:37:17 853
原创 opencv 视频格式问题
收集的一些资料,简单做个记录,并不是很清楚是否正确,仅做参考编码参数:cv2.VideoWriter_fourcc('I','4','2','0')---未压缩的YUV颜色编码,4:2:0色度子采样。兼容性好,但文件较大。文件扩展名.avi。cv2.VideoWriter_fourcc('P','I','M','1')---MPEG-1编码类型,文件扩展名.avi。随机访问,灵活的帧率、可变的图像尺寸、定义了I-帧、P-帧和B-帧 、运动补偿可跨越多个帧 、半像素精度的运动向量 、量化矩阵、GOF结
2021-09-01 08:26:11 423
原创 Linux 任务运行情况
1任务运行情况&功能: 将命令放在后台执行,但当用户退出(挂起)的时候,命令自动也跟着退出使用: 加在一个命令的最后,防止终端一直被某个进程占用,才能执行别到任务备注: 但如果终端关闭,则进程也停止运行eg: 将输出重定向到指定的文件,stdout和stderr重定向到同一个文件和不同文件:./script.sh > somefile 2>&1 & 和 ./script.sh > stdoutfile 2> stderrfile &
2021-06-15 14:17:42 436
原创 python和c++ ---- opencv图像连通区域提取
pythonpython的图像连通区域提取使用的函数是measure.label(img)做连通标记,然后具体信息的话通过measure.regionprops获取import cv2import timeimport numpy as npfrom skimage import measureimage = cv.imread("test.jpg")_, temp_bin = cv2.threshold(image, 126, 255, cv2.THRESH_BINARY)# 做闭操作:
2021-03-18 17:56:31 3728
原创 python --- 二分图匈牙利算法和KM算法
基础概念关于匈牙利算法的基础概念就不作具体描述了,不清楚的可以自己搜索相关知识主要需要了解的知识点二分图匹配:最大匹配,完美匹配路径:交错路径,增广路径算法核心:通过不断寻找增广路径找到最大匹配的道路算法实现1. 使用线性规划库scipy取最小组合方案import numpy as npfrom scipy.optimize import linear_sum_assignmenta = np.array([[84, 65, 3, 34], [65, 56, 23, 35], [
2021-01-22 13:39:50 4324 2
原创 ros 运行注意事项
学习ros推荐看官方教程,现在里面大部分都有翻译成中文的版本,多看看绝对没错1. 数据的实时性要保证从节点获取的数据是最新的,就必须设置Publisher的queue_size和Subscriber的queue_size都为1,如果数据过大还需要设置buff_size具体参考博客ROS订阅最新的消息及queue_size和buff_size的理解2. 名称我们往往将节点名和执行文件命名相同,但要注意节点名并不一定与对应可执行文件名称相同包内可执行程序名由包内CMakeLists.txt控制
2020-12-18 17:25:43 841 1
原创 批处理 求得到当前文件夹下指定后缀的文件名的各种形式
for /f %%a in ('dir /s /b a*') do ( echo %%a:文件完整信息 echo %%~da:保留文件所在驱动器信息 echo %%~pa:保留文件所在路径信息 echo %%~na:保留文件名信息 echo %%~xa:保留文件后缀信息 echo %%~za:保留文件大小信息 echo %%~ta:保留文件修改时间信息 echo %%~dpa:保留文件所在驱动器和所在路径信息 echo %%~...
2020-12-17 18:37:10 2050
原创 opencv 视频格式
收集的一些资料,简单做个记录,并不是很清楚是否正确,仅做参考编码参数:使用cv2.VideoWriter_fourcc(*‘xxxx’)获取、设置编码参数I420 :未压缩的YUV颜色编码,4:2:0色度子采样。兼容性好,但文件较大。文件扩展名.avi。PIM1:MPEG-1编码类型,文件扩展名.avi。随机访问,灵活的帧率、可变的图像尺寸、定义了I-帧、P-帧和B-帧 、运动补偿可跨越多个帧 、半像素精度的运动向量 、量化矩阵、GOF结构 、slice结构 、技术细节、输入视频格式。
2020-12-17 15:48:01 2548
转载 使用Python创建简单的HTTP和FTP服务
不管工作中还是其他场合,经常会有文件分享的需求,比如自己下了一个4GB的游戏,同事下了一个800MB的软件,其他人如果也需要这些文件,显然直接分享是最快捷、最方便、最环保的方式了,如果再重新下,既浪费时间,又浪费电。Windows自带了文件夹共享的功能,不过这玩意儿,至今我还没仔细的去折腾过,也没搞明白原理,我一直使用FTP来分享文件,如果有需要的话再弄个HTTP服务也足够应付了,我的目的仅仅只是文件分享,简单、易用是我主要关注的点。反复可耻这种需求必然是非常普遍的,解决方法也是多种多样。比如...
2020-12-16 16:48:43 259
原创 ros launch的条件判断
launch输入参数条件判断1. launch文件 camera.launch根据输入参数arg1指定是否允许usb_cam节点,并设置对应的参数type<launch> <arg name="arg1" default="true"/> <group if="$(arg arg1)"> <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" >
2020-12-15 12:19:49 1920
原创 python -- ros自定义msgs传输图片
方法:自定义msgs:MyImage.msgfloat64 timeint16[] sizeuint8[] data将cv2图片矩阵转为list赋值给msgs#!/usr/bin/env python3#coding=utf-8import rospyimport cv2from my_msgs.msg import MyImageimport numpy as npdef publish(): image = MyImage() image.size
2020-12-07 18:09:05 1127
原创 python --- Tkinter事件绑定参数的传递
关于python3 Tkinter事件的处理一般Tkinter事件绑定函数是不带参数的(bind会默认带event事件参数)但遇到确实需要传递参数的时候怎么办呢?参数的传递使用你们函数lambda或中间函数来解决from tkinter import *def handler_button(): paramStr.set('button:no param ')def param_button(param): paramStr.set(f'button:{param}')
2020-11-18 13:09:06 5480 1
原创 python ---深度学习图片标记小工具
功能和环境使用python3 tkinter写的一个简单的标记小工具,框选对象记录像素点位置和对象类型信息环境:python 3.7opencv-python 4.1.1效果图先上个效果图源代码import cv2from tkinter import *import threading, osimport tkinter.filedialog as filedialogfrom tkinter.ttk import Comboboxfrom tkinter.messagebox
2020-11-18 10:44:35 769
原创 ros --- c++和python 中 launch和yaml使用
1. Launch使用ros单个工程的运行可以使用rosrun,但是做项目不可能只有一个或几个工程,当需要大量的工程配合运行时launch就应运而生了关于launch的说明可以参考ROS入门之——浅谈launch这里重点说明几点:launch文件需要放在某个package目录下,最好放在最主要的package目录下,醒目launch文件是可以跨包的,不要因为roslaunch test_pkg test.launch运行在test_pkg下而认为只能执行test_pkg下的节点,只要配置好对应的
2020-11-13 13:09:20 5079 5
原创 ros 初始使用c++和python创建工程
问题记录之前一直使用ros2,最近第一次使用ros,遇到较多问题,先记录目前使用出现的问题点:1. 基本命令roscore 启动了一个节点管理器记住,运行节点前需要先启动节点管理器,否者节点不会运行catkin_create_pkg 创建包 ,接参数包名,然后是依赖库(可不加,自己配置)catkin_create_pkg package_name std_msgs rospy roscppcatkin_make 编译,不带参数为全编译catkin_make -DCATKIN_
2020-11-11 17:26:07 1068
原创 python --- ElementTree解析xml 增删改查
直接上代码#!/usr/bin/env python# -*- coding: utf-8 -*-# @File : xml.py# @Author: shadow# @Date : 2020/10/30# @Desc : ElementTree xmlimport time, osimport xml.etree.ElementTree as ET# 处理XML缩进和换行def pretty_xml(element, indent='\t', newline='\n', l
2020-10-30 18:55:25 512
原创 python cv2摄像头校准,坐标系转换
代码先上代码链接:链接: https://pan.baidu.com/s/1vk1hYcOHdfadU-XwJQQS6g 提取码: cn2h功能说明摄像头校准:内参,外参获取,测试校准点图片视频畸变还原2D像素坐标坐标转3D世界坐标3D世界坐标转2D像素坐标流程分析使用相机拍摄或直接使用现有的内参和外参图片张友正标定法获取内参参数获取外参标记点的世界坐标和像素坐标使用PNP算法获取相机畸变系数根据得到的参数做还原和坐标系转换代码使用tkinter写成了一个小工具,有兴趣的
2020-10-24 19:43:10 3635 8
原创 python cv2 视频剪切
import cv2video_caputre = cv2.VideoCapture('source.MOV') #原视频# 获取读入视频的参数fps = int(video_caputre.get(cv2.CAP_PROP_FPS))size = int(video_caputre.get(cv2.CAP_PROP_FRAME_WIDTH)), int(video_caputre.get(cv2.CAP_PROP_FRAME_HEIGHT))print(fps, size)videoWrit
2020-10-23 16:48:58 1391
原创 python -- tkinter 滑块
上段代码做个记录import cv2from tkinter import *import threading # 多线程def getImage(device): cap = cv2.VideoCapture(device) cap.set(3, width) # 设置分辨率 cap.set(4, height) sucess = cap.isOpened() while sucess: ret, image = cap.read()
2020-10-10 15:19:24 4172 1
原创 python --知识点 a += b 不等于a = a + b
不可变变量a = 1b = 2a1 = aa += bprint(a, a1) # 3, 1a = 1b = 2a1 = aa = a+bprint(a, a1) # 3, 1对于不可变类型在进行+=和=+之后结果是一样的可变变量a = [1, 2]b = [3]a1 = aa += bprint(a, a1) # [1, 2, 3] [1, 2, 3]a = [1, 2]b = [3]a1 = aa = a+bprint(a, a1) # [1, 2, 3
2020-09-21 09:54:46 484
原创 python 小知识--- 解析命令行参数模块argparse
argparseargparse是python中用于解析命令行参数和选项的标准模块,它可以帮助我们轻松编写用户友好的命令行接口,它还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息使用方法先看一段实例代码 test.pyimport argparsefrom functools import reduceCalculator = { "add": lambda n: reduce(lambda x, y: x+y, n), "sub": lambda n: r
2020-09-04 18:06:47 627
原创 python 循环内使用列表append lambda 只有最后一个管用
先上一段代码看问题from tkinter import *root = Tk()def appear(index, letter): print(index, letter) entry.insert(0, f'{index}:{letter},') buttons[index].config(state="disabled")letters=["A", "B", "C", "D", "E", "F", "S", "R", "M"]buttons = []for
2020-08-22 16:34:54 1385 1
原创 python openpyxl 设置excel缩放比例
功能需求由于excel数据较多,电脑显示器使用100%比例显示不全,想在生成excel时缩小其显示比例来使用一页显示全部数据,经历在百度找来找去都没有该方法的示例,但是觉得这么重要的属性openpyxl 坑定是有实现的,如是就去搜索源码尝试了几个关键字,发现zoomScale搜索到的信息比较符合然后顺藤摸瓜找到self.views = SheetViewList()里的views 与worksheet.views里的zoomScale相关,然后就可以开始尝试赋值去测试了SheetViewL
2020-08-11 17:28:22 2954
原创 python - 小知识 易错点
python平时使用中容易犯错误的地方:1. 不要在遍历中去删除元素有时候我们需要遍历处理,在处理完一个元素获得结果后进行删除,免得下次会重复处理浪费时间s = list('我是谁,我在哪里?')for i in s: print(i, end="") s.remove(i)输出我谁我哪?但是要注意从前往后删除,元素索引也会依次前移,导致结果不是你想过要的,尝试解决如果你能保证其元素不会重复度,可以试着从后往前遍历s = list('我是谁,在哪里?')for i in s[:
2020-08-10 13:55:53 190
原创 python小知识 --- f字符串保留小数
f-string亦称为格式化字符串常量(formatted string literals) 是Python**3.6** 新引入的一种字符串格式化方法该方法源于PEP 498 – Literal String Interpolation主要目的是使格式化字符串的操作更加简便关于其小数位保留先看一段代码,猜其小数点后带f和不带f的不同输出形式import times = time.time()while 1: t = time.time() - s print(f'带f: {t*
2020-08-10 11:40:15 21921
原创 ROS2 编译错误和警告
1. WARNINGWARNING:colcon.colcon_ros.prefix_path.ament:The path xxx AMENT_PREFIX_PATH doesn’t existWARNING:colcon.colcon_ros.prefix_path.catkin:The path xxx CMAKE_PREFIX_PATH doesn’t existROS2 删除自定义包后 编译警告在终端内:printenv AMENT_PREFIX_PATH CMAKE_PREFIX_PA
2020-08-05 16:32:21 8347
原创 python-小知识点 ---- 多字符串替换
一个长字符串或者一个文本文件做数据分析的时候经常遇到需要排除干扰项的需求,这时候就需要多字符串替换的功能使用str的 replace函数字符串常用的替换函数比如说将标点替换成空,使用replace连续替换多次即可s = ''' There was a card party at the rooms of Naroumoff, of the Horse Guards. The long winter night passed away imperceptibly, and it was five
2020-07-20 13:13:54 250
原创 python学习 - openpyxl行列读取,批注批量添加,列宽设置
openpyxl作为 python中常用的excel模块用于excel常用操作还是蛮方便的常用操作请参照行、列的读取先获取一个sheetdef excel_add_comment(file): wb = load_workbook(file, data_only=False) ws = wb.active ws.title = "sheetName" 方法1:使用字符串标注获取区间 row1= ws["A1:F1"] #第一行前五个 col1 = ws["A1:A6"] #
2020-07-15 14:38:34 3291
原创 python-小知识点 ---switch-case 模拟计算器
不同于其他语言,python中没有switch case语句,关于为什么没有,官方的解释是这样的python 需要实现类似switch-case功能就需要自定义函数或类来处理使用字典配合函数直接取值def foo(var): return { 'a': 1, 'b': 2, 'c': 3, }.get(var, 0) #0为找不到默认返回值,相当于处理default,可自设置calcer = input("输入:")result = [foo(
2020-06-18 17:36:59 330
原创 python-小知识点 ---字符串处理
对于字符串的处理无论是哪种语言都是相当重要的python对于字符串的处理提供了大量的内建函数:写法可以使用单引号,双引号包含字符串连续三个单引号或三个双引号,可以帮助我们创建多行字符串r字符串不转义常用转义符号 \ 反斜杠符号’ 单引号" 双引号\b 退格(Backspace)\n 换行\t 横向制表符\r 回车常用操作字符串提取python字符串有切片功能,可用于快熟提取子串注意提取规则是前包后不包s = '12345678'prin
2020-06-17 18:26:33 367
转载 给程序员的忠告
在网上看到的前辈总结的编程经验,比较认可,我觉得是对程序员的忠告更合适1. 估算解决问题所需要的时间不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时。为自己定一个时间限制吧,1小时、30分钟或甚至15分钟。如果在这期间你不能解决问题,那就去寻求帮助,或到网上找答案,而不是尝试去做“超级堆码员”。2. 编程语言是一种语言,只是一种语言随着时光推移,只要你理解了一种语言的原理,你会发现各种语言之间的相似之处 。你所选择的语言,你应该觉得“舒服”,并且能够写出有效(而且简洁.
2020-06-13 17:28:14 344
原创 python-小知识点 ---一行代码能干嘛
一行python代码到底能干嘛, 能丧心病狂…初级九九乘法表print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))输出1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2
2020-06-12 16:41:11 389
原创 python-小知识点 --- 判断字母大小写和数字字符串,特殊符号
1.对于字符串 — 使用字符串内置函数判断isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 Falseisalpha() 所有字符都是字母,为真返回 Ture,否则返回 Falseisdigit() 所有字符都是数字,为真返回 Ture,否则返回 Falseislower() 所有字符都是小写,为真返回 Ture,否则返回 Falseisupper() 所有字符都是大写,为真返回 Ture,否则返回 Falseistitle() 所有单词都是首字母大写,为真返回 Tu
2020-06-10 17:36:26 6164
转载 常用的排序算法的时间复杂度和空间复杂度
排序法最差时间分析平均时间复杂度稳定度 空间复杂度 冒泡排序O(n2)O(n2) 稳定 O(1) 快速排序O(n2)O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序O(n2)O(n2) 不稳定 O(1) 二叉树排序O(n2)O(n*log2n) 不一顶 O(n) 插入排序O(n2)O(n2) 稳定 O(1) 堆排序O(n*log2n)O(n*log2n) 不稳定 O(1.
2020-05-31 22:01:33 993
txtToChart-master.zip
2020-09-16
将txt文本数据生成对应的excel和echarts的exe文件
2020-04-23
pyecharts自适应居中显示
2020-04-22
将txt文本数据生成对应的excel和echarts 源码
2020-04-22
Java图形界面编程
2013-09-11
跟我一起写Makefile
2013-09-11
ARM嵌入式系统基础教程
2013-09-11
Shell脚本学习指南
2013-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人