python
JY HUA
这个作者很懒,什么都没留下…
展开
-
未能打开文稿“xxx.txt”。文本编码Unicode (UTF-8)不适用。txt文件GB2312编码转换utf-8编码格式方法
本文提供一种使用python将txt文件GB2312编码转换utf-8编码格式的方法。复制粘贴完整代码直接跳到看第三部分: 3. 解码使用GBK输出:可以看到是GB2312的编码格式。输出:可以看到设定gb2312解码报错了,查 相关资料 发现可能是 “处理的字符的确是gb2312,但是其中夹杂的部分特殊字符,是gb2312编码中所没有的。”GB2312,GBK,GB18030,是兼容的,包含的字符个数:GB2312 < GBK < GB18030生成的xxx_out.t原创 2022-06-22 16:01:01 · 1785 阅读 · 0 评论 -
查看NLP预训练模型参数量
from transformers import BertModel, BertConfigconfig = BertConfig.from_json_file('bert-base/config.json')bert_model = BertModel(config, add_pooling_layer=True)pytorch_total_params = sum(p.numel() for p in bert_model.parameters() if p.requires_grad)pr.原创 2021-10-28 16:00:10 · 798 阅读 · 0 评论 -
dataframe多分类问题中多个模型的预测结果投票,一行代码
比如三个模型进行投票:df# 取票数最高的结果from collections import Counterdf['label'] = df.apply(lambda x: Counter([x.label1,x.label2,x.label3]).most_common()[0][0],axis=1)df红框部分即为投票结果。原创 2021-03-27 15:50:05 · 657 阅读 · 0 评论 -
python3 abc module 抽象类 使用demo
类似于接口的概念,便于统一API。定义一个base class:from abc import ABC, abstractmethodclass Person(ABC): @abstractmethod # 定义抽象方法,无需实现功能 def get_name(self) -> str: '''子类必须定义本方法''' pass @abstractmethod # 定义抽象方法,无需实现功能 def get_id(s...原创 2021-01-21 19:34:45 · 185 阅读 · 1 评论 -
【bugfix】遇到一个conda 报错CondaValueError: prefix already exists (conda:4.8.1)
执行:conda create -n env_name_xxx python=3.7.7 -y报错:CondaValueError: prefix already exists用 conda info --envs 查看却没有env_name_xxx这个环境解决方法:直接删除目录:rm -r /home/xxx/miniconda3/envs/env_name_xxx就好了。以下为debug尝试:尝试force:conda create --force -n env_nam原创 2020-10-26 13:39:10 · 15269 阅读 · 5 评论 -
KFold StratifiedKFold GroupKFold的应用场景及示例代码
1. kfold普通的k折交叉验证from sklearn.model_selection import KFold2. stratifiedkfold平衡label的k折交叉验证。在类别label不平衡时使用,如0、1分类时,0的样本量和1的样本量差异悬殊。from sklearn.model_selection import StratifiedKFoldskf = StratifiedKFold(n_splits=5, shuffle=True, random_...原创 2020-07-13 15:31:51 · 1220 阅读 · 0 评论 -
【miniconda3安装】miniconda3安装后conda无效
下载安装 .sh:下载页面:https://docs.conda.io/en/latest/miniconda.html下载:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh下载完成后:bash Miniconda3-latest-Linux-x86_64.sh依照提示完成安装。安装完成后直接使用conda命令依旧:$ conda search pythonco..原创 2020-05-19 17:22:12 · 6584 阅读 · 0 评论 -
pandas常用命令
文件结构:## 查看python库版本pd.show_versions()# pd.__version__## 查看python包安装位置import syssys.path## 查看模块信息help('modules')## 读取当前文件路径from pathlib import PathPath.cwd()raw_file = ‘%s/data/raw/’%Path.cwd()processed_file = ‘%s/data/processed/'%Pat.原创 2020-05-19 12:05:00 · 645 阅读 · 0 评论 -
jupyter notebook的安装及远程连接配置
# 安装jupyter notebookapt-get install -y jupyter# or:pip3 install -y jupyter# 生成jupyter notebook配置文件jupyter-notebook --generate-config# 进配置文件vim ~/.jupyter/jupyter_notebook_config.py# 修改以下c.NotebookApp.ip = '0.0.0.0'c.NotebookApp.open_browser =.原创 2020-05-18 14:19:53 · 352 阅读 · 0 评论 -
使用python虚拟环境virtualenv
可能会因python依赖等的版本问题,在复现模型时得到略有差异的结果。想要完全复现原结果,需保证所有的python依赖与原先的完全一致。可使用virtualenv来实现:pip3 install virtualenv新建一个工作目录mkdir testcd test创建一个虚拟环境virtualenv new_modelsource new_model/bin...原创 2020-04-23 18:01:03 · 169 阅读 · 0 评论 -
自动生成和安装requirements.txt
requirements.txt可以通过pip命令自动生成和安装生成requirements.txt文件pip freeze > requirements.txt安装requirements.txt依赖pip install -r requirements.txt原创 2019-12-10 14:12:53 · 152 阅读 · 0 评论 -
对比python中的浅拷贝copy与深拷贝deepcopy
直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 为对dataframe进行对比实验,我们首先构造一个简单的dataframe:import pandas as pddf = pd.DataFrame({'A'...原创 2019-11-15 17:39:57 · 942 阅读 · 0 评论 -
python通过pandas读取格式为xlsx的excel文件
安装xlrdpip install xlrd读取文件import pandas as pddf = pd.read_excel('example.xlsx')df.head()原创 2019-11-12 17:41:46 · 1150 阅读 · 0 评论 -
比较三种判断字符是否为大写字母方式的效率
和朋友闲谈聊到判断字符是否为大写字母的方式,于是做了一个耗时统计进行比较。想到了三种:## 方法Ax in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' #如果返回Ture则x为大写## 方法Bx&amp;amp;amp;gt;='A' and x&amp;amp;amp;lt;='Z' #如果返回Ture则x为大写## 方法Cx.isupper() #如果返回Ture则x为大写哪个效率最高呢?那么来写点代码跑...原创 2018-10-23 16:24:23 · 2419 阅读 · 0 评论 -
查看dataframe占内存大小的两种方法
## 查看df占内存的大小import timeitimport sysst = time.time()print('all_data占据内存约: {:.2f} GB'.format(df.memory_usage().sum()/ (1024**3)))st1=time.time()print('costtime: {:.2f} s'.format(st1-st))print(...原创 2018-12-23 16:54:59 · 13165 阅读 · 1 评论 -
压缩数据占内存的方式
def reduce_mem_usage(df, verbose=True): numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64'] start_mem = df.memory_usage().sum() / 1024**2 for col in df.columns: ...原创 2018-12-23 16:57:47 · 692 阅读 · 0 评论 -
爬楼梯问题
题目假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。---------------------------------------------------------------------本质上是斐波那契数列求解问题。1.动态规划简单实现,不过 时间复杂度过高,为。...原创 2019-06-21 22:20:37 · 229 阅读 · 0 评论 -
数据分析 - 使用boxcox将数据正态化 python版
box和cox在1964年提出的变换可以使线性回归模型满足线性性、独立性、齐方差性以及正态性,同时又不丢失信息。在做线性回归的过程中,一般线性模型假定:(线性性、独立性、齐方差性以及正态性)真实数据往往不完美符合这四个特性,而大多数数据统计都要求数据为正态分布(比如pearson相关系数)。因此可以通过boxcox改变一下数据形式。boxcox的数学原理:逆变换公...原创 2019-07-09 15:44:40 · 3404 阅读 · 0 评论 -
python连接mongodb数据库,并将数据存成dataframe
首先需要有连接mongodb数据库基本信息 :CONFIG_HOST= '11.111.11.11'CONFIG_PORT='27017'CONFIG_DATABASE = 'databasename'CONFIG_USER='username'CONFIG_PASSWORD = XXXXXXCONFIG_TABLE = 'tablename'python通过p...原创 2019-08-20 11:12:38 · 1526 阅读 · 0 评论 -
驼峰式变量名转下划线式 python
最简单的思路:唯一需要考虑,是直接复制当前字符,还是先加’_'再复制当前字符。#!/usr/bin/env python3def change_variable_name(listx): listy = listx[0] for i in range(1,len(listx)): # listx[i] 直接copy 或 先加'_'再copy ...原创 2018-10-22 15:03:25 · 2564 阅读 · 4 评论