Python
文章平均质量分 55
地球被支点撬走啦
这个作者很懒,什么都没留下…
展开
-
远程登陆Ubuntu服务器anaconda的使用问题(多用户)
远程登录Ubuntu的新用户在使用 conda 命令时,可能会遇到找不到 conda 命令的情况,因此在多用户使用 anaconda 的情况下,需要提前在 Ubuntu 服务器上做一下 anaconda 的配置。保存退出,然后 source 一下这个文件夹,这样就将anaconda 添加到全局的环境变量中了。每条信息最后一个冒号后面的就是当前用户的 shell 类型,一般默认都是 bash。按 i 键编辑,在文件最后添加以下语句。按 ESC 键退出编辑,然后依次输入。可以使用以下命令查看当前的环境变量。原创 2022-11-09 23:04:50 · 1624 阅读 · 2 评论 -
pandas 处理excel表格数据的常用方法(python)
最近助教改作业导出的成绩表格跟老师给的名单顺序不一致,脑壳一亮就用pandas写了个脚本自动吧原始导出的成绩誊写到老师给的名单中了哈哈哈,这里就记录下用到的pandas处理excel的常用方式。(注意:只适用于.xlsx类型的文件)1、读取xlsx表格原始内容如下:1、读取第n个Sheet(子表,在左下方可以查看或增删子表)的数据import pandas as pd# 每次都需要修改的路径path = "test.xlsx"# sheet_name默认为0,即读取第一个原创 2022-05-16 15:42:58 · 26576 阅读 · 2 评论 -
python matplotlib绘图总结
官网教程:Plot types — Matplotlib 3.5.2 documentation1、画线a、常规画线: matplotlib.pyplot.plot()该部分内容包含:(常规画线、颜色、线条风格、坐标轴标签、一图多线、图例)的设置方法。定义:plot(*args, scalex=True, scaley=True, data=None, **kwargs)用法:对于一般的函数 y=f(x),可以直接绘制:plt.plot(x, y),当省略x坐标时plt....原创 2022-05-13 12:13:06 · 3396 阅读 · 1 评论 -
python 数组的排列与组合:combinations 与 permutations
combinations 函数在python 的 itertools 库中,因此在使用前需要 import itertools。combinations 函数的作用就是罗列出所有数组中 n 个元素的组合,并返回一个可迭代对象例子:import itertoolsnums = [3, 2, 1, 0]a = itertools.combinations(nums, 3) # 枚举出由列表 nums 中3个元素组成的所有可能的集合for i in a: print(i)"""原创 2022-04-25 20:39:57 · 3422 阅读 · 0 评论 -
numpy 多级排序 :lexsort 函数详解
import numpy as npa = [[3, 3, 8], [6, 9, 7], [3, 3, 2]]b = np.array(a)"""step-1、首先按照第一列数值升序顺序对每行的位置进行重排, 第一行有两个值相同, 转到step-2 [[3, 3, 8], [[3, 3, 8], [6, 9, 7], --> [3, 3, 2], [3, 3, 2..原创 2022-04-15 00:24:33 · 14615 阅读 · 3 评论 -
python 字典dict常用操作总结
字典是一个包含了键-值对数据的集合。1、创建字典可以直接使用一对花括号或者 dict() 创建一个字典类型的数据。a = {}a = dict()2、添加/修改/删除字典元素添加元素的方式有两类,一种是直接使用方括号添加(类似于访问元素),另外一种是通过内置函数添加。删除元素使用 del 或 pop。以下是添加/修改/删除新元素的方式(以武汉七校的特点为例)a、[ ]方括号方法添加/修改,省时省力又省心。若 key 已存在则修改该键值,若不存在则创建相应的键值对b、set原创 2022-04-09 16:18:40 · 4546 阅读 · 0 评论 -
python 列表list用法总结
目录1、创建空列表2、索引、切片3、加入元素4、删除、清空操作5、列表长度及最值6、运算符和表达式7、值的索引8、反转及排序9、统计指定元素出现的次数10、列表相互赋值(理解浅拷贝)python 中的列表(list)类型类似于 C++ 中的 vector 类型,不过列表的功能更多。1、创建空列表直接使用一对空的方括号就可以创建空列表alist = []列表中的元素类型不必都相同,比如下面的例子中,一个列表中同时含有字符串、数字、元组、列表类型的数原创 2022-04-09 12:15:18 · 5139 阅读 · 0 评论 -
python 输入 input() 与输出 print()
python 使用 input() 获取用户的输入,该操作属于无脑式输入,不管在键盘上敲入什么内容都会当作字符串类型返回,也就是说如果想输入数字,那么需要配合eval()、int()、float()函数进行转换。输入过程以敲下回车键为结束标志。1、输入字符串字符串长啥样就直接无脑输入就行a_str = input("随便输入一个字符串试试:")print(a_str)"""运行结果:随便输入一个字符串试试:好的 我就随便输入了好的 我就随便输入了"""2、输入数字输..原创 2022-04-09 11:06:25 · 2783 阅读 · 0 评论 -
python 字符串操作总结
目录1、内置字符串处理函数2、常用字符串处理方法1、内置字符串处理函数s = "这是一个字符串"c = '哈'x = 217041、len(s) : 返回字符串长度 len(s) = 72、str(x) : 返回任意类型 x 对应的字符串形式 str(x) = "21704"3、chr(x) : 返回 Unicode 码 x 对应的单字符 chr(x) = 哈4、ord(c) : 返回单字符表示的 Unicode 编码 ord(c) = 217045、h原创 2022-04-08 20:59:18 · 1894 阅读 · 0 评论 -
python 随机数 random 库的使用总结
目录1、random 库中的常用随机数生成函数2、一些用法举例3、随机数种子 seed(a) 的理解与使用random 库的主要目的就是生成随机数。1、random 库中的常用随机数生成函数from random import *1、seed(a=None) # 初始化随机数种子,默认值为当前系统的时间2、random() # 生成一个 [0, 1.0) 之间的随机小数3、randint(a, b) # 生成一个 [a, b] 之间的随机整数4、getr原创 2022-04-08 16:46:24 · 3324 阅读 · 0 评论 -
python Counter() 函数
目录1、以统计列表中的词频为例2、寻找出现次数最多的 k 个数刷 leetcode 时发现了可以很方便地统计词频的 Counter() 函数,有了这个函数就不用手动的使用 for 循环来手动统计词频啦!Counter() 是 collections 库中的一个函数,可以用来统计一个 python 列表、字符串、元组等可迭代对象中每个元素出现的次数,并返回一个字典。可以看下常用的 Counter() 例子:1、以统计列表中的词频为例列表中含有一串整数,要统计每个数出现的次数,可以像下.原创 2022-04-07 21:33:44 · 36219 阅读 · 0 评论 -
python 最小堆类型: heapq
目录1、heapq 的常用方法2、几个例子a、最小堆的创建以及增删b、如何使用 heapq 创建最大堆c、获取第k 大/第 k 小数据heapq 是 python 的一个库,用一个列表来维护一个最小堆。1、heapq 的常用方法import heapqmin_heap = [] 创建一个空列表1、# 向 min_heap 中添加一个数据 val,并按照最小堆的广度优先顺序重新排列heapq.heappush(min_heap, val) 2、# 返回并删.原创 2022-04-07 17:14:35 · 1824 阅读 · 0 评论 -
torch.triu 与 numpy.triu 函数
triu = triangle up (我猜的)顾名思义,这个函数的作用相同,都是返回上三角矩阵,定义分别如下:numpy.triu(m, k)torch.triu(Tensor, diagonal)这两个函数的对应参数都是相同的含义。m 代表要操作的矩阵,k 代表以哪条对角线作为上三角矩阵的对角线。k=0 代表主对角线,k 为正数则从主对角线开始向上数第 k 条,k 为负数则从主对角线开始向下数第 k 条。举例如下:import torchimport numpy as np#原创 2022-03-31 16:28:50 · 4474 阅读 · 0 评论 -
VSCode 如何让去掉 Pylint 展示的花里胡哨的警告
Pylint 是一个 python 的语法检测器,提升编程效率的同时其带来的花里胡哨的警告也是真让人看着难受,就像下面这花花绿绿的波浪线:这些警告种类极其丰富,比如下面这样:Method 'forward' is abstract in class 'torch.nn.modules.module' but is not overriddenPylint(W0223:abstract-method)Formatting a regular string which could be a f-原创 2022-03-31 17:10:51 · 4299 阅读 · 0 评论 -
python range的逆序输出
range(begin, end, 方向)range(begin, end, -1) 表示逆序,范围为: [begin, end)例子如下:# range(begin, end, 方向) 范围为: [begin, end) 即 [3, 2, 1]for i in range(3, 0, -1): print(i)print('\n')# 范围为 [3, 2, 1, 0]for i in range(3, -1, -1): print(i)#========== .原创 2022-02-27 13:30:16 · 7682 阅读 · 0 评论 -
VSCode 运行 python 输出端乱码解决
问题:在VSCode 中使用 Run Code 运行 python 程序 会出现以下乱码:原因:没有设置 python 的编码格式问题解决:在 file—Preferences——Settings 中找到 Run Code configuration——Edit in settings.json,如下在打开的 json 文件中查看是否有"code-runner.executorMap":{...} 项,没有的话就手动加进去,然后找到"python": "python ..原创 2022-02-26 17:38:03 · 2180 阅读 · 0 评论 -
numpy 对二维数组的常用操作
目录1、提取二维数组的某几列或某几行2、获取某个范围的数据3、所有元素求和4、计算数组中非零元素的个数5、使用布尔型掩码提取某些行或某些列6、获取数组的行数或列数7、获取最后一列(或行)的元素1、提取二维数组的某几列或某几行import numpy as np# 定义 3*3 的 numpy 数组matrix = np.array([[1, 3, 2], [8, 0, 6], [9, 7原创 2022-02-09 22:25:27 · 13352 阅读 · 0 评论 -
实数插值方法及其 python 实现
本文主要介绍两种常用的实数插值方法:拉格朗日(Lagrange)插值 以及 牛顿(Newton)插值 及其python实现。运行效果如下:1、拉格朗日插值拉格朗日(Lagrange)插值基函数:N次插值多项式:拉格朗日插值多项式的推到如下:2、牛顿插值Lagrange插值多项式计算简单便于编程计算,但是如果要增加一个节点,Lagrange插值多项式除增加的一项外,原来的每一项都需要改变。而Newton插值多项式在增加一个节点时只需要在原来的插值多项式.原创 2022-01-21 15:38:23 · 1497 阅读 · 0 评论 -
使用VSCode配置Anaconda(3.7)-python3.6(yolov3)环境
最近因为毕设需要用到目标检测的功能,所以在完全小白的前提下学了下YOLOv3(Windows10+Keras+VSCode+Tensorflow),在使用VSCode时遇到了不少坑,在此记录一二。关于YOLOv3的学习及相关代码大家可以参考这篇博客:https://blog.csdn.net/weixin_44791964/article/details/103276106,博主同时在GitH...原创 2020-04-29 18:30:49 · 2417 阅读 · 0 评论 -
python: image.paste函数的理解
同样的,即使是从负坐标开始粘,超出正常区域的部分也会被自动忽略。这里图b就只剩下一块100*100的区域被粘到a上了。python中PIL库中的paste函数的作用为将一张图片覆盖到另一张图片的指定位置去。由结果可知超出的部分会被自动舍弃。这里只保留了图b中100*150大小的区域。定义中im是要黏贴到image上面去的图片,box是要黏贴到的区域。注意图像的坐标原点在左上角,操作均以图片的左上角为参考点。该函数是图像的一个方法,调用方式为。2、黏贴的范围超出目标图像的范围。1、黏贴是在正常范围内完成的。原创 2020-10-14 20:37:27 · 34258 阅读 · 5 评论 -
python:tqdm——进度条显示操作
在代码执行过程中,如果想要看到代码的实时运行进度,可以使用tqdm库来进行进度条可视化。tqdm的安装:pip install tqdm举一个常用参数的使用例子:from tqdm import tqdm import timewith tqdm(total=100, desc='这是进度条的前缀',postfix='这是进度条的后缀',mininterval=0.3) as pbar: for i in range(100): time.sleep(0.1原创 2020-10-16 21:53:23 · 2396 阅读 · 0 评论 -
Ubuntu18中调用cv2.imshow及PIL库遇到的bug “: cannot connect to X server”及display-im6.q16: unable to open X。。。
在Ubuntu18中用Python写一个有关opencv的代码,用到了cv2.imshow,但是运行到这里就会报错:: cannot connect to X server而我把cv2.imshow注释掉就没问题了,Google了一波问题,解决方法如下:在代码中加入如下语句j就可以了:import osos.environ['DISPLAY'] = ':0'参考:https://stackoverflow.com/questions/64532738/opencv-cannot-c原创 2020-11-20 11:38:38 · 5880 阅读 · 7 评论 -
Python:map()函数使用详解
1、函数定义:map(function, iterable, ...)2、作用:该函数通过接收一个函数function作为处理函数,然后接收一个参数序列iterable,并使用处理函数对序列中的每个元素逐一处理,达到映射的功能。注意:map函数本身是惰性计算的,因此返回的结果并不是真实结果,而是一个需要被显示迭代的迭代器,可用隐式遍历的方法来强制遍历map作用的序列,从而得出输出结果。直白点说,可以吧map作用后的结果转换为list等类型进行输出。3、举例解释(map函数的映射功能原创 2020-10-17 22:55:44 · 1086 阅读 · 1 评论 -
pandas:reset_index及set_index的解释
1、pandas.DataFrame.reset_index函数原型:DataFrame.reset_index(self, level = None, drop = False, inplace = False, col_level = 0, col_fill = '') 作用:官方解释:重置索引(index)或索引的一个级别(level)。重置DataFrame的索引,并使用默认索引。如果DataFrame有一个多索引,此方法可以删除一个或多个级别。—— 看完有点懵是吧。。。。。。我原创 2020-06-27 20:01:54 · 1693 阅读 · 0 评论 -
pandas:sample函数解释
函数定义:DataFrame.sample(self: ~ FrameOrSeries, n=None, frac=None, replace=False, weights=None, random_state=None, axis=None) 作用:从所选的数据的指定 axis上返回随机抽样结果,类似于random.sample()函数。举个栗子(关于每个参数的解释在最下面):1、首先定义一个数据,结构如下:import pandas as pd# 定义一组数据df .原创 2020-06-27 11:49:44 · 21618 阅读 · 0 评论 -
Python中的joblib.Parallel函数
Joblib是一个可以将Python代码转换为并行计算模式的包,可以大大简化我们写并行计算代码的步骤。我们可以通过操作该包内的函数来实现目标代码的并行计算,从而提高代码运行效率。下面举一个简单的例子来说明:1、首先,我们定义一个简单的函数single(a),该函数顺序执行休眠1s然后打印a的值的操作:def single(a): """ 定义一个简单的函数 """ time.sleep(1) # 休眠1s print(a) # 打印出a2、我们使用for原创 2020-06-26 23:04:53 · 24340 阅读 · 3 评论