![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python随手技巧
随手笔记
羊羊猪
彼此心比天高 怎能没进步
展开
-
【已解决】激活虚拟环境报错:此时不应有Anaconda3\envs\[envs]\Library\ssl\cacert.pem。
此时不应有Anaconda3 envs yolov5 Library ssl cacert.pem。但是之前装的虚拟环境也还能再次激活,base环境也无任何问题,仅新装的虚拟环境无法激活。原创 2023-08-30 10:33:19 · 4229 阅读 · 12 评论 -
【已解决】qt.qpa.plugin: Could not load the Qt platform plugin “windows“ in ““ even though it was found.
翻译:Qt .qpa.plugin:无法在“”中加载Qt平台插件“windows”,即使它被找到。这个应用程序启动失败,因为没有Qt平台插件可以初始化。重新安装应用程序可以解决此问题。查看是否还有PyQt5的库,如果没有的话则表明已清除干净。接下来就是重装PyQt5了。安装成功后,输入labelimg,就可以弹出软件了。原创 2023-08-30 10:09:59 · 13370 阅读 · 7 评论 -
【已解决】Windows10 pip安装报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x98
在Pycharm安装YoloV5的依赖包时出现报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x98。的报错一般是因为读取文件出现编码问题导致没法读取文件原创 2023-08-28 17:46:40 · 1114 阅读 · 0 评论 -
【解决】Python数据保存为csv再读取后部分数据的格式被更改
我们可以在每次读取数据之后加多一步,将所有非数字列转换为全字符串类型。这是一开始读取出来的数据,全部都是字符串。调用一下这个函数即可解决这个问题。原创 2023-06-16 20:55:07 · 1405 阅读 · 1 评论 -
Pandas计算历史均值
在用Python进行时间序列分析时,我们可能经常需要计算历史的一些特征。一般会使用rolling()函数,这里介绍一下计算包括当前行的历史特征和不包括当前行的历史特征。原创 2022-12-26 23:54:30 · 970 阅读 · 0 评论 -
DataFrame删除全是某个数值的行或列
DataFrame删除全为某个数值的行或列原创 2022-12-10 00:19:25 · 1075 阅读 · 0 评论 -
DataFrame缺失值判断和填充
缺失值的判断和填充原创 2022-11-20 05:35:53 · 2595 阅读 · 0 评论 -
使用groupby统计不同组的缺失值
我们希望统计出a列中不同组(A、B)的各自的缺失值数量。原创 2022-11-19 07:51:17 · 646 阅读 · 0 评论 -
DataFrame在指定位置插入行和列
DataFrame在指定位置插入行和列原创 2022-08-04 19:02:26 · 3640 阅读 · 0 评论 -
Python读取 xlsb 文件格式
xlsb格式是Binary格式存储的excel文件,比普通的xlsx文件的体积要小很多,在数据量极大的场景比较多用。目前有两种方式读取.xlsb格式的文件。原创 2022-07-27 21:16:23 · 1863 阅读 · 0 评论 -
dataframe统计某列包含某个字符串的个数
有时候需要统计dataFrame里包含某一列某个元素的数量Example此时我们想筛选标签包含商业、关注和引流的名称数量原创 2022-07-07 12:15:46 · 2180 阅读 · 0 评论 -
获取两个dataframe的交并差集
Python DataFrame获取交并差集原创 2022-06-23 15:09:28 · 685 阅读 · 0 评论 -
TGI关联指数 + Python
关联指数定义、TGI定义计算和优缺点、TGI Python代码原创 2022-06-07 19:13:10 · 565 阅读 · 0 评论 -
Python-pandas.DataFrame-找出有空值的行
0.摘要pandas中DataFrame类型中,找出所有有空值的行,可以使用.isnull()方法和.any()方法。1.找出含有空值的行方法:DataFrame[DataFrame.isnull().T.any()]其中,isnull()能够判断数据中元素是否为空值;T为转置;any()判断该行是否有空值。import pandas as pdimport numpy as npn = np.arange(20, dtype=float).reshape(5,4)n[2,3] = np.n转载 2022-04-28 17:51:45 · 6387 阅读 · 0 评论 -
dataframe获取字符串中的字数
Example获取字母数量df_text['text_len'] = df_text.text.str.len()df_text获取单词数量df_text['words_cnt'] = df_text.text.str.split(' ').str.len()df_text原创 2022-02-15 00:22:38 · 1094 阅读 · 0 评论 -
Dataframe一列分割成多列
Example分割成包含两个元素的list列按 ‘,’ 分割df['split'] = df.ls.str.split(',')按 ‘.’ 分割df['split'] = df.ls.str.split('.')按 ‘.’ 分割,从左边开始分割,只分割成两部分# split('分隔符', num=分割次数)df['split'] = df.ls.str.split('.', 1)按 ‘.’ 分割,从右边开始分割,只分割成两部分# rsplit('分隔符',原创 2022-02-17 17:21:24 · 7868 阅读 · 0 评论 -
Python同时合并多个DataFrame
pandas的merge函数只能同时合并三个dataframe,如果涉及到合并多个dataframe就比较麻烦这种情况下我们可以创建一个我们需要合并的列表,然后将他们一次性合并在一起# merge any number of dataframesfrom functools import reducedf_groups = [df2, group1, group2, group3, group4, group5, group6, group7, group8]df_merged = reduce(原创 2022-01-07 16:45:00 · 6396 阅读 · 0 评论 -
pandas把dataframe平均分割成多份
有时数据量太大电脑内存不足,此时可以把数据切割成多份分开跑,再合到一起下面直接给出dataframe切割方法import mathimport pandas as pdfrom tqdm import tqdmdef cut_df(file_name, n): df = pd.read_csv(file_name) df_num = len(df) every_epoch_num = math.floor((df_num/n)) for index in tqdm转载 2022-01-30 16:18:14 · 4310 阅读 · 0 评论 -
List内元素部分替换
Example:我们想把所有元素里的 ‘汇总’ 两个字都去掉,但如果直接用list.replace()则会报错,这时我们可以用一个循环获取list里面元素为str形式再进行替换for i in range(len(sheet_names_test)): sheet_names_test[i] = sheet_names_test[i].replace('汇总', '')...原创 2022-03-31 16:51:29 · 5089 阅读 · 0 评论 -
python 获取excel文件的所有sheet名称
当一个excel文件的sheet比较多时候,这时候可能需要获取所有的sheet的名字xl = pandas.ExcelFile(你的Excel文件路径) sheet_names = xl.sheet_names # 所有的sheet名称 df = xl.parse(sheet_name) # 读取Excel中sheet_name的数据也可以直接读取所有的sheet,将sheetname设置为None,这时候得到的是一个dict结果 df = pandas.read_excel(你的Exc转载 2022-03-31 16:36:17 · 5279 阅读 · 0 评论 -
[Pyhton·Pandas]关于pandas使用groupby后apply报错TypeError: unhashable type: ‘list‘这件事
我有一个DataFrame,如下df = pd.DataFrame(data=[[[1,2],[3,4],5,6],[[1,2],[0,0],0,0]],columns=['a','b','c','d'])df输出: a b c d 0 [1,2] [3,4] 5 6 1 [1,2] [0,0] 0 0然后我groupby再applydf.groupby('a').apply(lambda g:g)报错!......pandas\_libs\hashtable_c转载 2022-04-16 16:21:52 · 832 阅读 · 0 评论 -
Jupyter notebook进入指定磁盘
Jupyter notebook 默认打开C盘的文件,而我们有时候文件放在其他盘上,想运行就比较麻烦如何打开指定磁盘的文件1. 快捷键 Win+Q,输入cmd2. 选择Anaconda Prompt (Anaconda3)3. 输入你想进入的磁盘 (我这里进的是D盘)4.输入 jupyter notebook5.进入磁盘...原创 2022-01-06 12:46:41 · 1086 阅读 · 0 评论 -
df显示多行结果
df数据框一般最多只能显示60行数据,再多的话中间会出现省略但有时我们想看到更多的结果来对我们的数据进行判断,因此我们可以用下面这一句代码来实现展示较多行的数据结果# 200为可以显示的行数,可以自行更换import pandas as pdpd.set_option('display.max_rows',200)...原创 2022-04-16 01:49:22 · 1015 阅读 · 0 评论 -
Dataframe两列值去重
有时候处理数据的时候会遇到这样的情况,尽管两列合在一起后表达的意思一样,但无法直接把他们去重因此我们可以在去重前多进行一步,把两列数据合并成 list 后去重,再把他们分开# 1.合并数据,转换成 listdf['ls'] = list(map(lambda x,y:[x,y],df['a_attr_single'],df['b_attr_single']))# 2.对 list 里的数据进行排序处理df['ls'] = df['ls'].apply(lambda x:','.join(sort原创 2022-02-17 15:10:31 · 2300 阅读 · 1 评论 -
df分割中英文字符串
需求:有时候我们想把一串带有中英文的字符分成中文和英文部分具体思路:使用中英文正则识别,用re.findall找出来中文识别编码:[\u4e00-\u9fa5]英文识别编码:[a-zA-Z]代码实现import reimport pandas as pd# 中英文编码en = re.compile(r'[a-zA-Z]')cn = re.compile(r'[\u4e00-\u9fa5]')# 提取中英文for i in data.index: data.loc[i,'c原创 2022-04-16 02:33:34 · 356 阅读 · 0 评论 -
DataFrame groupby含重复数据的计算
需求:想计算每个brand有几种type如果直接用groupby().count(), 则会把type里的重复值也一起算了进去。data.groupby(['brand'])[['type']].count().reset_index()因此我们在计算之前要先去一次重# 两种写法都可以data.groupby(['brand']).nunique().reset_index()# data.groupby(['brand']).agg({'type':pd.Series.nunique})原创 2022-04-16 15:49:03 · 1044 阅读 · 0 评论 -
df两列值替换
需求:有时候我们想用右边品牌那列的行业词替换掉,但有可能行业那列的变量较多无法直接使用行业词替代这里介绍两种方法第一种,使用list去循环替换# 先把行业词转换成list, 再用列表推导式循环替代# 这个在面对大量数据的时候效率较慢hy_ls = list(map(str, data['brand'].to_list()))data['brand']=data['brand'].replace([hy for hy in hy_ls], '', regex=True)第二种, 使用lamb原创 2022-04-16 02:20:29 · 662 阅读 · 0 评论