
数据处理
JasonLiu1919
微信公众号《小窗幽记机器学习》。却顾所来径,苍苍横翠微。个人微信号:onepieceand
展开
-
Pandas中数据去重
背景在数据处理过程中常常会遇到重复的问题,这里简要介绍遇到过的数据重复问题及其如何根据具体的需求进行处理。筛选出指定字段存在重复的数据import pandas as pdstudent_dict = {"name": ["Joe", "Nat", "Harry", "Nat"], "age": [20, 21, 19, 21], "marks": [85.10, 77.80, 91.54, 77.80]}# Create DataFrame from dictstudent_df = pd原创 2021-09-29 11:18:53 · 10371 阅读 · 0 评论 -
将标签转为onehot形式
背景对于给定具体标签,如何将其转为one-hot形式?比如标签集合体育', '娱乐', '家居', '房产', '教育', '时尚', '时政', '游戏', '科技', '财经',对于multiclass任务,如何将训练数据集中的样本的标签转为one-hot形式?方法1: import numpy as np label_list = ['体育', '娱乐', '家居', '房产', '教育', '时尚', '时政', '游戏', '科技', '财经'] label_dict原创 2021-03-25 17:59:38 · 2102 阅读 · 4 评论 -
pandas分组之后对相同group内的字段进行合并
背景在pandas中对数据进行分组后,想要对相同组的数据进行其他字段的合并。类似场景:有2个字段,分别是文本内容和标签值。先根据文本内容进行分组,再对同一个组内的标签值进行合并,从而得到多标签值。实施测试: import pandas as pd df = pd.DataFrame({'text': ['华中科技大学', '武汉大学', '清华大学', '华中科技大学', '武汉大学'], 'label': ["985,理工", "985"原创 2021-01-15 13:50:12 · 3366 阅读 · 2 评论 -
获取list中出现频数最多的元素
背景给定一个列表,找到其中最高频的元素。比如输入:[2, 1, 2, 2, 1, 3]期望输出:2再比如输入:['华中科技大学', '韵苑', '沁苑', '韵苑']期望输出:韵苑方法1:使用集合 def most_frequent(lst): return max(set(lst), key=lst.count) a=['华中科技大学', '韵苑', '沁苑', '韵苑']#[5,2,3,4] # ['华中科技大学', '韵苑', '沁苑',原创 2021-01-06 15:56:29 · 2594 阅读 · 1 评论 -
pandas中2个nan值为何不同
背景判断两个 nan 值是否相等。import numpy as npa=np.nanb=np.nanif a == b: print("Same")else: print("Not Same")if a is b: print("Same")else: print("Not Same")解析numpy.nan是一个numpy.float64的非空对象。所以不能直接用bool表达式去判断numpy.nan,其结果都是True。一切依赖于布尔表达式的判断方式都不行,比如if语原创 2021-01-05 14:25:33 · 1546 阅读 · 1 评论 -
根据子字符列表过滤掉给定列表
背景给定两个字符串列表string_list和substr_list,筛选出string_list中包含substr_list中元素的所有字符串。示例:Input : string_list= ['city1', 'class5', 'room2', 'city2'] substr_list= ['class', 'city']Output : ['city1', 'class5', 'city2']Input : string_list= ['coordinates', 'xy原创 2020-12-30 14:10:34 · 138 阅读 · 0 评论 -
过滤掉list中被其他元素所包含的元素
背景有一个list,其中的元素存在之间相互包含的关系,即元素A可能是原始B的子串。举个例子:输入list a=['我是卖麻辣烫的小男孩', '小男孩', '麻辣烫', '华中科技大学','大学'],希望返回的结果是['我是卖麻辣烫的小男孩', '华中科技大学']解法由于长字符串不可能被短字符串所包含,即长字符串不可能是短字符串的子串,那么只需要按照字符串长度降序排序,并设立一个新的list(比如new_a),从长->短,依次判断排序后的字符串是否是new_a中元素的子串。具体代码:原创 2020-12-30 11:05:10 · 950 阅读 · 2 评论 -
给定值查找在list中的近邻值
背景给定一个有序list 和 目标value,如果将该目标value值插入list中,那么索引位置是多少。举例说明:a_list=[0, 2, 4, 6, 7, 9, 11, 12, 13, 14, 18, 19, 21],给定value=8,那么此时8位于 a_list中的7和9之间,该位置对应的索引位置是5,所以输出索引位置5。方法用bisect,bisect是python内置模块,用于有序序列的插入和查找。查找: bisect(array, item)插入: insort(array,i原创 2020-12-28 16:12:38 · 958 阅读 · 0 评论