python
文章平均质量分 53
Jnchin
这个作者很懒,什么都没留下…
展开
-
使用zarr处理训练大型数据集
Zarr是一种存储分组、压缩的N维数组的格式。zarr官方教程:https://zarr.readthedocs.io/en/stable/tutorial.html对于处理大型数据集,np.array往往是力不从心的,因此需要使用磁盘到内存映射的技术(如memmap、zarr等)。对于一整个较大的.npy或.dat文件,可以直接使用np.memmap读取。而对于大量文件的情况下(如38万个1M小文件),想全部读入内存,并且生成一个array数组,建议使用zarr。速度比较对于适应内原创 2022-01-20 12:01:09 · 3026 阅读 · 0 评论 -
【pandas警告】SettingwithCopyWarning出现的原因和解决方案
问题操作 DataFrame 的时候有时会报SettingwithCopyWarning的警告,如下图:然后吧,你按着他的提示,尝试改用.loc,结果还是没卵用。最后由于懒得检查,索性直接关闭所有警告信息:import warningswarnings.filterwarnings("ignore")警告虽不是错误,但直接关闭警告肯定是不对。警告的作用就是告诉你虽然代码语法正确,但也会出现潜在的错误或问题。原因导致这条告警产生的原因,是由于pandas无法判断对原始DataFrame进行切原创 2021-11-24 11:34:42 · 3289 阅读 · 0 评论 -
Python创建增量目录
需求很简单比如我在做机器学习实验的时候,实验结果的保存路径是'runs/exp'。这样就会出现一个问题:当我第二次运行程序的时候,如果我忘记更改代码中的路径名或者清除上次实验结果,这次的实验结果会和上次实验结果混在一起,很头疼。所以我希望在下次实验的时候代码自动创建一个新的目录,来保存新的实验结果。代码粘贴复制,直接照着下面用就行。下面的函数是我从yolo5里复制过来的,代码质量很高,鲁棒性很高,可以放心使用。from pathlib import Pathimport reimpor原创 2021-11-23 17:25:23 · 3326 阅读 · 1 评论 -
使用pandas对时间序列数据进行等距重采样处理
我们的目标是将原始数据处理成每隔30秒一个数据样本,且每个30秒内使用均值计算,如下图所示:代码:import pandas as pd# 转化为时间戳格式df.loc[:, 'datetime'] = pd.to_datetime(df.loc[:, 'datetime'])# 按时间排序df = df.sort_values(by='datetime')# 将‘time’列转化为索引df = df.set_index('datetime')# >>> 关键原创 2021-04-13 21:10:10 · 3887 阅读 · 0 评论 -
Python的函数参数按值还是按引用传递参数?
详情见官方文档:http://www.runoob.com/python/python-functions.html这里说一个我碰到的例子:def tst(a): a.append([1,2,3]) print('函数tst中的列表a是:',a) passx = ['q','w','e']tst(x)print('函数tst外的列表x是:',x)输出:函数tst中的列表a是: ['q', 'w', 'e', [1, 2, 3]]函数tst外的列表x是: ['q'原创 2021-03-14 12:35:04 · 233 阅读 · 0 评论 -
python提取字符串中所有的实数
import rea = "23rfgg3.4王0.55发-5.498 s62.36逼0.000-0.6+6"# 提取所有的实数b = re.findall(r"-?\d+\.?\d*e??\d*?", a)print(b)运行结果:['23', '3.4', '0.55', '-5.498', '62.36', '0.000', '-0.6', '6']其他正则提取:# 提取所有的汉字d = re.findall('[\u4E00-\u9FA5\\s]', ...原创 2020-12-25 10:49:57 · 1162 阅读 · 0 评论 -
itertools中的groupby()的原理及其骚操作
原理导包:from itertools import groupby其实groupby就是对可迭代对象的批量操作,可迭代对象就是像list、dict、迭代器等这种可以用for循环遍历的数据结构或者对象。groupby()的作用就是把可迭代对象中相邻的重复元素挑出来放一起,举个例子:for key, group in groupby('AAABBBCCAAA'): print(key, list(group))输出:A ['A', 'A', 'A']B ['B',原创 2020-12-23 21:15:59 · 12043 阅读 · 3 评论 -
反向传播求偏导原理简单理解
神经网络中用反向传播求偏导数的思想就相当于复合函数求偏导。从头说起,在学生时代我们要求下面式子中,函数e(a,b)e(a,b)e(a,b)对a和b的偏导数:e=(a+b)∗(b+1)e=(a+b)*(b+1)e=(a+b)∗(b+1)∂e∂a=?\frac{\partial e}{\partial a}=?∂a∂e=?∂e∂b=?\frac{\partial e}{\partial b}=?∂b∂e=?传统的求偏导方法就是用解析式直接求偏导即可。但如果随着函数复合的层数增多,对应的就是神经原创 2020-09-23 10:29:30 · 4223 阅读 · 2 评论 -
K-means算法简单理解
参考《吴恩达机器学习》要解释K-means算法,用图像说明再合适不过了。假设有这么一个无标签数据集,我想将它分成两簇:现在开始执行K-means算法,具体操作如下:第一步,随机生成两点,这两个点就叫做聚类中心即:下图中红色蓝色两个叉叉第二步,进入内循环K-means是一个迭代算法,它每次迭代都会做两件事,一是簇分配,二是移动聚类中心。听不懂没关系,看下面的图就懂了。第一小步,进行簇分配即:遍历每个样本点,看看它是离着红色聚类中心近还是离着蓝的近,若离着红的近就把它归到红色簇中去,原创 2020-09-15 19:19:25 · 1302 阅读 · 0 评论 -
使用conda安装包时明明换了国内镜像源,安装还是太慢?甚至压根安不上?
装得慢之前安装camelot的时候直接照着文档复制了命令,结果安装速度出奇的慢,anaconda明明已经换成国内镜像源了啊。细看了下命令才发现多加了个-c conda-forge。-c后面的参数就是下载通道的地址,也可以直接换成国内镜像源地址-c 下载通道名 就全等于 --channel 下载通道名装不上但有时候又会出现根本装不上的错误PackagesNotFoundError: The following packages are not available from current c原创 2020-08-31 19:48:53 · 4931 阅读 · 0 评论 -
Python环境使用的一些个人习惯
仅限个人使用原创 2020-08-18 10:53:14 · 410 阅读 · 0 评论 -
PyTorch环境搭建及踩过的坑
以下过程仅限windows1、安装总体上的PyTorch安装我是参考的这篇博客:https://www.cnblogs.com/zhouzhiyao/p/11784055.html【踩坑一】官网上没有和我的cuda匹配的版本。网上搜了一下也没有解决这个问题,索性就用10.2吧,以后搞清楚了在这里把坑补上。【踩坑二】pytorch慢到无法安装这里我参考了 https://blog.csdn.net/xo3ylAF9kGs/article/details/104104041/注意点1:这几个原创 2020-07-16 09:43:14 · 1748 阅读 · 1 评论 -
写一个ieee的论文爬虫
爬取的内容很简单,就是抓取当前期刊页中所有的论文,如红框所示,初始url就是像https://ieeexplore.ieee.org/xpl/conhome/8961330/proceeding 这样子的。1、研究下网站结构emm,还在加载。很明显,下面的数据都是异步加载的。F12 ->Network->F5,复制个论文标题关键词全局搜索一下,即可找到对应的文件,我们想要的东西就应该在这个“toc”里了。哈哈,论文下载链接啥的果然都在这。任务很明确了,就抓这个json文件就行了原创 2020-07-14 14:13:20 · 3017 阅读 · 2 评论 -
pyplot输出的绘图界面出现中文乱码的解决方案
网上找了很多办法,在此总结一下比较好用的解决方案。【常用】方法一:rcParams优点是用法简洁,但污染全局字体设置。import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一 替换sans-serif字体plt.rcParams['axes.unicode_minus'] = False # 步骤二 解决坐标轴负数的负号显示问题plt.xlabel("x轴")plt.ylab原创 2020-07-10 18:03:09 · 1806 阅读 · 1 评论