
随笔
文章平均质量分 50
AI蜗牛车
关注公众号:AI蜗牛车回复:蜗牛获得一份我纯个人整理的AI落地小白入门
展开
-
【随笔】jupyter notebook启动打开文件出现:500 : Internal Server Error
看log有 module ‘mistune’ has no attribute 'BlockGrammar’错误打开文件有500 : Internal Server Error。原创 2023-07-04 14:08:40 · 530 阅读 · 0 评论 -
【随笔】使用matplotlib的坑
这两天使用matplotlib发现两个很容易忽视,也容易碰到的坑。原创 2023-03-17 16:46:47 · 191 阅读 · 0 评论 -
【随笔】使用pandas.reset_index() 一些坑
使用dataframe.reset_index(),一些坑,主要针对reset之后index变成column的列名问题。原创 2023-03-16 16:46:14 · 253 阅读 · 0 评论 -
虽迟但到,我的2022年总结
前言虽迟但到,今年和去年一样,总结依然拖延很晚。2018一瞬即逝,奋斗的日子也需要停下来,总结反思,2019也许不会更好,但不会差。2019年的个人总结和2020年的一些展望2020总结:自己像变了一个人我的2021总结不知不觉,这已经是我第五次写年终总结了,这个公众号也不知不觉运营了这么久,也算是一位公众号“老人”了吧~今年算是人生的一个重要的节点,个人的角色产生了改变,从一位在校的研究生到混迹...原创 2023-01-03 23:54:47 · 955 阅读 · 2 评论 -
python3用flask实现小的服务,get和post请求,传输json字符串,以及返回md5随机数
实现情况有两份代码, 一份是服务端,一份是客户端get和post都实现get端请求返回stringpost端请求返回json(包含md5的随机id),也传入json参数服务端代码import osimport syscurPath = os.path.abspath(os.path.dirname(__file__))rootPath = os.path.split(curPath)[0]sys.path.append(rootPath)from flask import Fl原创 2021-08-30 19:17:13 · 1124 阅读 · 0 评论 -
python3实现多线程下的消费者和生产者模式框架,利用multiprocessing
目的实现生产者和消费者这种并行分布式的框架,来分布式的服务实时进行处理。即实时生产者端产生数据,数据产生在消费者端实时处理,并行计算,没有for循环那种前后关系,实现并行代码demo#!/usr/bin/python# -*- coding: utf-8 -*-import osimport syscurPath = os.path.abspath(os.path.dirname(__file__))rootPath = os.path.split(curPath)[0]sys.pat原创 2021-08-30 16:17:06 · 797 阅读 · 0 评论 -
在pycharm里可以运行成功但是在linux中python main.py运行出现ModuleNotFoundError: No module named ‘ *xxx‘*
问题所在在pycharm里可以运行成功但是在linux中python main.py运行出现ModuleNotFoundError: No module named ’ xxx’此处xxx大概率是你的from的自定义的package原因这类原因主要是在使用pycharm的时候你进行多个文件的目录的整理或者打包,在主函数中被调用 from xxx import xxx时,路径会被编译器直接加入到运行中去,而在linux环境中最原始的running则会报错,找不到路径在所有的程序上加入这么个代码即可解原创 2021-08-20 16:09:09 · 1421 阅读 · 1 评论 -
【随笔】多进程里面套多线程,利用multiprocessing.pool和ThreadPoolExecutor线程池实现
目的对于分布式的大数据场景,总会遇到速度和效率的要求,比如每分钟有上亿条数据,一般来说都是实时的服务或者脚本,为了实时的能够处理或者分析数据, 所以我们常常会使用multiprocessing,但是有的时候还是满足不了需求,因为在每个进程里,依然有需要不断去循环的环节,那这些环节如果都弄成多线程,岂不是还可以提速?解决方案multiprocsssing.pool中嵌套个线程池show code 一个小demo...原创 2021-08-20 15:57:05 · 1513 阅读 · 0 评论 -
【总结】平时工作中对于docker的常用操作总结
轻松玩转docker一、安装 Docker 环境先强调一下docker玩耍最好还是在linux下,其他下面困难重重,很难受。$ sudo apt-get update$ sudo apt install docker.io原创 2021-08-20 15:26:50 · 655 阅读 · 1 评论 -
总结平时工作中对于git常用的一些点
git安装这个一查一大片,看官方的相对来说好一些,对于windows需要下载安装,其他直接命令行https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git使用git的前提对于在自己机器上使用git,利用ssh远程连接remote repo进行clone的时候第一次会出现Permission denied的情况,这里需要本地创建个ssh key,把其中的test_rsa.pub的内容填入ssh key中,并起一个名字原创 2021-07-23 16:15:36 · 242 阅读 · 7 评论 -
【随笔】列表中有很多列表,并且每个自列表等长,转换成dataframe 里面每个元素对应一个列名
code把每个列表转换成series,再转换成dataframel1 = [12, 'wo', 3]l2 = [2, 'niu', 44]l3 = [39, 'che', 11]series_list = [l1, l2, l3]series_to_dataframe_list = []for i in range(len(series_list)): series_to_dataframe_list.append(pd.Series(series_list[i]))df_new原创 2021-07-23 14:02:19 · 480 阅读 · 0 评论 -
【随笔】dataframe中groupby其中一列,获取其他几列对应的list列表,最终生成dataframe
code不废话直接看代码import pandas as pd df = pd.DataFrame({ 'wo' : [11, 21, 31, 41, 21], 'niu': ['a', 'a', 'b', 'b', 'b'], 'che': [1 , 2, 3, 4, 5]})niu_list = []wo_list = []che_list = []for i in df.groupby('niu'): niu_list.append(i[0])原创 2021-07-22 16:42:39 · 1956 阅读 · 0 评论 -
【随笔】python多进程编程时出现pool not running(尝试定时的反复去执行多进程pathos.multiprocessing)
原本目标准备用一个while(1)或者定时器去反复的执行pool多线程codefrom multiprocessing import Pooldef func(x): return x * xif __name__ == '__main__': pool = Pool(4) input_list = [1, 3, 6] while(1): res = pool.map(func, input_list) pool.close(原创 2021-07-22 15:47:32 · 1968 阅读 · 0 评论 -
【随笔】写一个时间戳滑窗的类-可以输出开始时间和结束时间,并且等待机制到下一个可以滑窗的时间点再继续滑窗
需求数据处理数据获取目的我门有的时候想做一个脚本或者服务,一般来说都是实时来滑时间窗的,那就有个问题,到不能滑的时候应该有个等待机制,并且固定输出格式,这样时间全是全量的时间,不会出现重合和缺失的时间窗口部分,如果用于数据获取,也会全量获取。我这里写的一个类的功能大概是比如我此时时间是 2021年11点22分12秒,那我就取2021年11点22分这个整时间,之后如果设置second_size=4,则取2021.11.21.56-2021.11.22为第一个时间窗口(start_time, e原创 2021-07-22 14:42:42 · 192 阅读 · 0 评论 -
【随笔】利用Timer(threading中)来实现定时器-python3
目的写的一些脚本需要定时的发心跳,确定是否还在running,需要一个定时器不停的给数据库发信息,这时候需要timer很多写的服务或者脚本需要按周期的跑,并且内部的一些变量是需要上一次跑的保存的,这里会有两种做法利用Crontab设置定时任务,保存上次的一些中间数据比如json到本地,下一次读利用timer,直接程序一直跑,只是本身有定时器在周期性running二者各有优缺点这里主要说第二种实现过程中非常重要的一步就是周期性running的定时器show you code写了个小d原创 2021-07-21 20:55:30 · 372 阅读 · 0 评论 -
【随笔】matplotlib画图之双y轴公用一个x轴且x轴等间隔显示值并存储图片到本地
前言双y轴公用一个x轴(左y轴,右y轴):可以更好的show可视化并且便于对比和省资源不想全部的x轴数据都显示,只显示一部分,等间隔显示存储图片show you code写了个小demo直接拿起来用def draw_path_jpg_two_curves(x, y1, y2, label1, label2, file_name): import matplotlib.pyplot as plt import matplotlib.ticker as ticker p原创 2021-07-21 20:46:24 · 601 阅读 · 0 评论 -
【screen】利用screen进行后台运行程序
前言如果你是windows可能不会用到这个对与windows而言会安装一个ssh远程连接的软件, 比如Mobaxterm这个软件十分好用,我估计还在上学的同学不会陌生一般来说输入ip 用户名 端口等信息就可以链接远程,之后会让你输入你对应的user的密码,就可以远程操控了。对与我们做算法的来说,一般都要托管自己的模型训练代码,要不长时间不碰,terminal会自动断开远程连接windows下对于windows远程来说,可以采用直接用nohup命令来进行远程例如nohup python ma原创 2021-07-17 18:19:21 · 3006 阅读 · 0 评论 -
【随笔】python3的json的读和写
show you code写import jsond = { 'wo': 'niuche', 'woniu': 'che'}with open("./example.json","w") as f: json.dump(d, f)读:with open("./example.json") as f: json_data = json.load(f)print(json_data)原创 2021-07-17 18:03:50 · 146 阅读 · 0 评论 -
【随笔】把一个list分裂成n个长度为m的小list
show you codedef list_split_to_n_chunk_str_list(l, split_num=4): def chunks(arr, n): return [arr[i:i + n] for i in range(0, len(arr), n)] n_chunk_str_list = chunks(l, split_num) return n_chunk_str_listl = [i for i in range(17)]pr原创 2021-07-17 17:43:49 · 205 阅读 · 0 评论 -
【随笔】class类转换为(key, value)的一个list (python3)
show you codedef __class_to_list__(c): return list(zip(list(c.__dict__.keys()), list(c.__dict__.values())))class woniuche(): def __init__(self): self.wo = '' self.niu = '' self.che = '' wn = woniuche()wn.wo = '原创 2021-07-17 17:39:30 · 791 阅读 · 0 评论 -
【随笔】利用graphviz来画trace或者graph的图
安装pip install graphviz或者anaconda下conda install graphvizshow you code简单example说明from graphviz import Digraphdot = Digraph(name="MyPicture", comment="the test", format="png")dot.node(name='a', label='wo', color='purple')dot.node(name='b', labe原创 2021-07-17 17:33:20 · 683 阅读 · 5 评论 -
【随笔】利用multiprocessing实现多线程,并实现多个参数传递函数的多并行,以及在class类的情况下采用多并行的正确使用方法
前言利用多线程一般来说都是有 一定的大数据需求。比如一个函数可能被不断的调用很多次一般来说我们会使用for循环,但是为了节省时间,我们采用多线程的方式来解决这个问题show you code单参数输入举了两个例子,一看便知func为我们的函数输入的参数为一个list,每一个元素对应于一个输入,每个输入并行map 直接返回一个list如果需要每个结果做不一样的结果操作,需要迭代器,那就用imap代码import multiprocessingdef func(x):原创 2021-07-17 16:07:56 · 2595 阅读 · 0 评论 -
【随笔】在for循环中,如何得到最终的dataframe的concat的最终结果
尝试搞一个空的来不断地concat第一个保存,后面的concat感觉都不是很高效,以及对不齐的情况出现,最后发现可以用dict来做代码关键代码dataframe_final = {}l = 2for i in range(3): # perform calculations dataframe_final[i] = pd.DataFrame({ 'a': [random.random()] })final = pd.concat(list(da原创 2021-06-08 00:05:07 · 3289 阅读 · 0 评论 -
【随笔】取出dataframe的两列中的组合值,输出对应的list列表
直接看代码这种一般都是groupby之后想要key的情况关键代码:wnc = list(woniuche.groupby(['woniu', 'che']).groups.keys())原创 2021-06-07 23:59:52 · 1663 阅读 · 0 评论 -
【随笔】dataframe中操作其中两列或多列进行函数操作,或者更复杂的操作
这里其实也可以之间索引两列直接进行加减乘除,但是我个人更倾向于用apply来操作,这样更为多变。普通操作:不过如果操作比较复杂,推荐熟练使用以下操作:这里需要注意axis=1,要不可能没法去到’woniu’或者’che’的key整体代码:这样用异样的写法,也可以延伸到对多列进行每行的复杂操作...原创 2021-06-07 23:45:28 · 2057 阅读 · 0 评论 -
高考失利之后,属于我的大学本科四年
问题:2020 高考失利了怎么办?1. 前言这个问题其实我并不想回答,但因为我觉得我和“失利”这两字有着密不可分的关系,并且在高考之后的几年中,一直沉浸在这个问题中,很难走出来..2. ...原创 2020-09-07 20:22:00 · 5845 阅读 · 9 评论 -
【TOOLS】本地利用ssh远程连接服务器并启用远程服务器的jupyter lab并配置好anaconda的环境
前提条件服务端安装好anaconda,并建立要用的虚拟环境详情可见我的另外一篇文章https://blog.csdn.net/qq_33431368/article/details/84374023假设我们这里创建的虚拟环境是一个 name为che的python3.6的环境,什么其他的包都还没有装。本地环境需要安装git,如果你没啥特别的需求,就傻瓜式安装即可。具体步骤这里要注意的一点是如果你的服务器是学校得或者公司的,肯定是要连接上对应的vpn的。通过git bash输入ss原创 2020-08-09 19:23:37 · 8008 阅读 · 0 评论 -
【随笔】dataframe.groupby两个列之后把其中一个列当作行index,另外一列当作列index,求出新的dataframe和矩阵
前言主要想做的事情用大白话来讲就是:一个dataframe里面对于两个列做分组,最后算一个value对应于这两个列的分组来算值的矩阵,这个矩阵的行为其中一个列,列也为其中一个列。新建一个dfimport pandas as pdimport numpy as npv = [1, 2, 3, 3, 3]a = pd.DataFrame({'v': v})d = [2 , 4, 4, 5, 4]a['d'] = dc = ['c' , 'h', 'd', 'e', 'c']a['c']原创 2020-08-06 11:49:59 · 10672 阅读 · 0 评论 -
【随笔】在dataframe中找到某个值,并最终输出其对应的其他某个列的值
思想在dataframe的对应列中找到这个值用这个关系去对应到这一行再在这一行对应于想要的某个列即可代码示例import pandas as pddata = { "aa":['c','h','e'], "bb":[4,5,6], "cc":[7,8,9] }df = pd.DataFrame(data)print(df)# 找到aa列中e值对应的cc列的值find_data = df[df['aa']=='e']['cc']print('seek原创 2020-07-27 22:32:41 · 16911 阅读 · 2 评论 -
【随笔】list中append和extend的区别(值得注意,很容易出现bug)-- 两个list合并
append和extend用白话来解释append-- 附加 贴上extend-- 延伸 扩展所谓附加就是在原来的基本上加一个东西所谓延伸就是之前的东西可以在相同的层级上进行延展。所以这么理解的话 append主要是list添加一个元素的,而extend是为了两个list的合并的代码示例即两个列表合并l1 = [2, 3, 4]l2 = [7, 8, 9]l1.extend(l2)l1列表添加一个元素(单一个值)l1 = [2, 3, 4]l1.append(5)l1原创 2020-07-27 16:55:09 · 4954 阅读 · 0 评论 -
【随笔】list中每个数字都减1或者每个元素都加1
处理方式for循环每个元素进行操作(太麻烦了)转换成array可以直接-1,相当于1可以自己扩展成对应的array矩阵的维度,进行减法操作程序实例先把list变成array,进行减法或者加法操作,再把array变成listl1 = [2, 3, 4]l1 = (np.array(l1)-1).tolist()l1...原创 2020-07-27 16:34:58 · 21612 阅读 · 0 评论