Data Processing
文章平均质量分 61
python数据处理等
SUFEHeisenberg
在读PhD,研究兴趣为NLP方向。
展开
-
Pandas如何删除重复的数据但保留最大值的行
Pandas处理原创 2022-12-15 17:10:30 · 661 阅读 · 0 评论 -
Python实现Welch‘s T-test
Welch’s T-test原创 2022-11-15 18:18:22 · 2348 阅读 · 0 评论 -
【2022版】基于矩阵分解的PCA 白化&ZCA白化
【2022版】基于矩阵分解的PCA 白化&ZCA白化原创 2022-11-14 07:22:23 · 546 阅读 · 0 评论 -
CUR矩阵分解
CUR矩阵分解原创 2022-11-12 18:59:36 · 1185 阅读 · 0 评论 -
pandas筛选出含有特定字符串的列
【代码】pandas筛选出含有特定字符串的列。原创 2022-11-10 01:16:27 · 706 阅读 · 0 评论 -
Pandas求列的指数和
Pandas求列的指数和。原创 2022-11-10 01:15:35 · 253 阅读 · 0 评论 -
【Coding】Pandas实现VLOOKUP模糊搜索匹配
【Coding】Pandas实现VLOOKUP模糊搜索匹配1. 问题描述如果想利用pandas在python中实现Series文本中的模糊匹配而非精准匹配,可以利用fuzzy实现。2. 数据样例df1 = pd.DataFrame([['Apple','A'],['Banana','B'],['Orange','C'],['Strawberry','D'],['Mango','G']], columns=['Fruits','AA'])df2 = pd.DataFrame([['Aple','a'原创 2022-02-27 23:45:30 · 3193 阅读 · 0 评论 -
Pytorch Load Dataset 多线程加载读取数据
Pytorch Load Dataset 多线程加载读取数据单线程读取数据时以agnews dataset为例,num_worker=1时读取时间如下:Load Test Data Spends 12.183895587921143 secondsLoad Test Data Spends 200.42685055732727 secondsDataLoader(dataset, num_workers=2,collate_fn=collate_fn)时Load Test Data Spe原创 2021-11-29 21:29:22 · 1945 阅读 · 0 评论 -
【Bugs】ValueError not enough values to unpack (expected 2, got 1)
【Bugs】ValueError: not enough values to unpack (expected 2, got 1)1. Bug 场景Pytorch环境下用Huggingface获取bert.outputs代码output = model(**input)[0]的时候出现bug>>>model(**input)Traceback (most recent call last): File "<input>", line 1, in <module原创 2021-11-13 16:29:04 · 2152 阅读 · 0 评论 -
【Bugs】pyarrow.lib.ArrowInvalid Column 2 named label expected length 1004 but got length 1000
【Bugs】pyarrow.lib.ArrowInvalid: Column 2 named label expected length 1004 but got length 1000又是一年双十一,又累又困惨戚戚。——2021.11.11bugs描述在pytorch huggingface环境中想更改tokenizer编码的input_ids的index,本想通过赋值的方式发现报错:tokenized_datasets_test = agnews_dataset['test'].map(tok原创 2021-11-11 20:49:37 · 2292 阅读 · 0 评论 -
Python list保留index的排序方法及时间开销比较
Python list保留index的排序方法及时间开销比较1. enumerate()>>> a = [1,4,2,5,3]>>> b = sorted(enumerate(a),key = lambda x:x[1],reverse=True) # reverse参数为True为降序排序>>> b[(0, 1), (2, 2), (4, 3), (1, 4), (3, 5)]## index 和 value以tuple的形式返回(ind,原创 2021-10-06 16:28:54 · 1334 阅读 · 0 评论 -
基于Pytorch下在Huggingface中加载数据集参考资料
基于Pytorch下在Huggingface中加载数据集参考资料1. 加载公共/本地数据集到环境中加载公共数据集并进行增删改查等预处理步骤Use the Datasets library of Hugging Face in your next NLP project写脚本scirpt.py加载本地数据集并在github上push pull等My experience with uploading a dataset on HuggingFace’s dataset-hub如何写一个脚本Huggin原创 2021-10-05 15:30:55 · 1138 阅读 · 0 评论 -
【Coding】*与**运算符在python中的应用示例
在python基础环境中,*与**具有语法多义性,具体可以归结为以下四类:1. 算数运算*:乘法,**:乘方,次幂。>>> 2*36>>> 2**382. 函数形参*args和**kwargs主要用于函数定义。我们可以将不定熟练地过参数传递给一个函数,不定的意思是:预先并不知道,函数会传递给函数多少参数,所以在该场景下使用上述两个关键词。args和kwargs并不是写死的,但是*和**号是必须的,知识约定俗成写成 *args 和 **kwargs 。原创 2021-10-02 22:25:21 · 81 阅读 · 0 评论 -
【NLP】python中英文关键词抽取技术总结
【NLP】python中英文关键词抽取技术总结无论是在中文还是英文中关键词抽取技术都是有着很重要的应用价值和分析价值,下面在python环境中分别针对中文和英文介绍几种常用的关键词抽取方法。1. 英文抽取英文关键词的几种方法:1.1 spaCyspaCy是一个集成化的工业级自然语言处理工具,主要功能包括分词、词性标注、词干化、命名实体识别、名词短语提取等等。text = "Private investment firm Carlyle Group,which has a reputation f原创 2021-09-29 13:56:15 · 5691 阅读 · 2 评论 -
Paper Reading《Optimal Whitening and Decorrelation》
Paper Reading《Optimal Whitening and Decorrelation》@author:Heisenbergpaper urlcode url论文发表自2016《 The American Statistician》,主要涉及了PCA、PCA-cor、ZCA、ZCA-cor以及Cholesky分解五种白化方法的理论推导证明以及在鸢尾花数据集上的测试表现。最终结论是ZCA-cor白化得到与原始变量最大相似的球形变量;PCA-cor白化能得到与原始变量最大压缩的球形变量。原创 2021-03-19 23:15:34 · 329 阅读 · 0 评论 -
基于矩阵分解的PCA 白化&ZCA白化
基于矩阵分解的PCA 白化&ZCA白化@author: Heisenberg主成分分析(principal component analysis, PCA)是一种常用的数据降维算法。主要思想是将nnn维的向量映射到kkk维上,这kkk维全新的正交特征也被成为主成分。通过计算数据矩阵XXX的协方差矩阵Σ\SigmaΣ,得到协方差矩阵的特征值特征向量,选择方差最大(也即特征值最大)的k个特征(坐标轴方向)组成的矩阵,以将原来的XXX变换到新的空间上。做whitening白化(亦作sphering,原创 2021-03-14 15:12:31 · 646 阅读 · 2 评论 -
【转载】你可能不需要BERT-flow:一个线性变换媲美BERT-flow
转载自科学空间-苏剑林苏剑林. (Jan. 11, 2021). 《你可能不需要BERT-flow:一个线性变换媲美BERT-flow 》[Blog post].BERT-flow来自论文《On the Sentence Embeddings from Pre-trained Language Models》,中了EMNLP 2020,主要是用flow模型校正了BERT出来的句向量的分布,从而使得计算出来的cos相似度更为合理一些。由于笔者定时刷Arixv的习惯,早在它放到Arxiv时笔者就看到了它,但转载 2021-01-22 22:37:51 · 194 阅读 · 0 评论 -
【coding】Bert-Whitening细解
BERT-Whitening细解@author: Heisenberg@date: 2021-01-16The code was share from Jianlin Su on his blogAnd This is a repo.Data can be download from here原jupyter notebook 格式可在github上查看。测试任务:GLUE的STS-B句子相似性任务测试环境:tf2.2.0+ keras2.3.1+ bert4keras 0.9.8对向量进原创 2021-01-16 20:17:49 · 2651 阅读 · 4 评论 -
多维list展开&&统计多维list中元素出现频率
多维list展开&&统计多维list中元素出现频率一、多维list 展开成 一维list1、定义展开方法8种方法将list展平为一层(如果是np.array()数据形式直接arr.reshape(-1,1)就OK)import functoolsimport itertoolsimport numpyimport operatorimport perfplotfrom collections import Iterable # or from collections.ab原创 2020-11-03 12:06:40 · 1064 阅读 · 0 评论 -
python 取两/多个list的交集
python 取两个/多个list的交集Two ListInput:lst1 = [15, 9, 10, 56, 23, 78, 5, 4, 9]lst2 = [9, 4, 5, 36, 47, 26, 10, 45, 87]Expected Output:[9,10,4,5]1、自定义def Methoddef intersection(lst1, lst2): lst3 = [value for value in lst1 if value in lst2] ret原创 2020-11-03 10:05:23 · 3987 阅读 · 0 评论 -
pandas筛选出某列中含有特定文本内容的所在行
1、所在行内容是单一的或者是标量df_fintech = df_text[df_text['业务一级分类']=="金融科技"]2、所在行内容是割裂的先转成str格式再用contains筛选。df_fintech = df_text[df_text['业务一级分类'].str.contains("金融科技")]3、筛选出列值属于某个范围内的行,用isindf.loc[df['column_name'].isin(some_values)] # some_values是可迭代对象4、多种条原创 2020-11-02 22:41:39 · 5247 阅读 · 5 评论 -
各种交叉熵损失函数比较及适用范围
各种交叉熵损失函数比较及适用范围一、基本概念1、信息量当越不可能的事件发生了,我们获取到的信息量就越大。越可能发生的事件发生了,我们获取到的信息量就越小。I(x0)=−log(p(x0))I(x_0)=-\log(p(x_0))I(x0)=−log(p(x0))2、熵对于某个事件,有nnn种可能性,每一种可能性都有一个概率p(xi)p(x_i)p(xi).熵用来表示所有信息量的期望H(X)=−∑i=1np(xi)log(p(xi))H(X)=-\sum_{i=1}^{n} p\lef原创 2020-10-23 21:54:31 · 3323 阅读 · 2 评论