首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Python】基于某些列删除数据框中的重复值

导入数据处理的库 os.chdir('F:/微信公众号/Python/26.基于多列组合删除数据框中的重复值') #把路径改为数据存放的路径 name = pd.read_csv('name.csv...从结果知,参数为默认值时,是在原数据的copy上删除数据,保留重复数据第一条并返回新数据框。 感兴趣的可以打印name数据框,删重操作不影响name的值。...从结果知,参数keep=False,是把原数据copy一份,在copy数据框中删除全部重复数据,并返回新数据框,不影响原始数据框name。...原始数据中只有第二行和最后一行存在重复,默认保留第一条,故删除最后一条得到新数据框。 想要根据更多列数去重,可以在subset中添加列。...如需处理这种类型的数据去重问题,参见本公众号中的文章【Python】基于多列组合删除数据框中的重复值。 -end-

20.5K31

【Python】基于多列组合删除数据框中的重复值

最近公司在做关联图谱的项目,想挖掘团伙犯罪。在准备关系数据时需要根据两列组合删除数据框中的重复值,两列中元素的顺序可能是相反的。...本文介绍一句语句解决多列组合删除数据框中重复值的问题。 一、举一个小例子 在Python中有一个包含3列的数据框,希望根据列name1和name2组合(在两行中顺序不一样)消除重复项。...二、基于两列删除数据框中的重复值 1 加载数据 # coding: utf-8 import os #导入设置路径的库 import pandas as pd #导入数据处理的库...import numpy as np #导入数据处理的库 os.chdir('F:/微信公众号/Python/26.基于多列组合删除数据框中的重复值') #把路径改为数据存放的路径 df =...numpy as np #导入数据处理的库 os.chdir('F:/微信公众号/Python/26.基于多列组合删除数据框中的重复值') #把路径改为数据存放的路径 name = pd.read_csv

14.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 中的字符串、列表、元组和字典数据类型的特点和使用场景

    字符串(str)是一种不可变的序列类型,由字符组成。它的特点是: 可以使用单引号或双引号来定义字符串。 字符串中的字符是按照索引进行访问的,索引从0开始。 字符串可以进行切片操作,获取部分子串。...字符串可以进行拼接操作,使用加号(+)来连接两个字符串。 字符串适用于存储文本信息,比如存储名字、句子、网址等。 列表(list)是一种可变的序列类型,由多个元素组成。...它的特点是: 可以使用方括号来定义列表。 列表中的元素可以是不同的数据类型。 列表中的元素是按照索引进行访问的,索引从0开始。 列表可以进行切片操作,获取部分子列表。...它的特点是: 可以使用圆括号来定义元组。 元组中的元素可以是不同的数据类型。 元组中的元素是按照索引进行访问的,索引从0开始。...字典中的键必须是唯一的,值可以重复。 字典中的键和值可以是不同的数据类型。 字典中的元素是无序的,无法通过索引进行访问。 字典适用于存储多个相关的键值对,比如存储一个人的姓名、年龄、性别等信息。

    14710

    (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg

    gender列的F、M转换为女性、男性的新列,可以有以下几种实现方式: ● 字典映射   这里我们编写F、M与女性、男性之间一一映射的字典,再利用map()方法来得到映射列: #定义F->女性,M->男性的映射字典...,键为变量名,值为对应的聚合函数字符串,譬如{'v1':['sum','mean'], 'v2':['median','max','min]}就代表对数据框中的v1列进行求和、均值操作,对v2列进行中位数...、最大值、最小值操作,下面用几个简单的例子演示其具体使用方式:  ● 聚合Series   在对Series进行聚合时,因为只有1列,所以可以不使用字典的形式传递参数,直接传入函数名列表即可: #求count...● 聚合数据框   对数据框进行聚合时因为有多列,所以要使用字典的方式传入聚合方案: data.agg({'year': ['max','min'], 'count': ['mean','std']})...可以注意到虽然我们使用reset_index()将索引列还原回变量,但聚合结果的列名变成红色框中奇怪的样子,而在pandas 0.25.0以及之后的版本中,可以使用pd.NamedAgg()来为聚合后的每一列赋予新的名字

    5.1K60

    Python3分析Excel数据

    有两种方法可以在Excel文件中选取特定的列: 使用列索引值 使用列标题 使用列索引值 用pandas设置数据框,在方括号中列出要保留的列的索引值或名称(字符串)。...pandas将所有工作表读入数据框字典,字典中的键就是工作表的名称,值就是包含工作表中数据的数据框。所以,通过在字典的键和值之间迭代,可以使用工作簿中所有的数据。...当在每个数据框中筛选特定行时,结果是一个新的筛选过的数据框,所以可以创建一个列表保存这些筛选过的数据框,然后将它们连接成一个最终数据框。 在所有工作表中筛选出销售额大于$2000.00的所有行。...然后,用loc函数在每个工作表中选取特定的列,创建一个筛选过的数据框列表,并将这些数据框连接在一起,形成一个最终数据框。...接下来,计算工作簿级的统计量,将它们转换成一个数据框,然后通过基于工作簿名称的左连接将两个数据框合并在一起,并将结果数据框添加到一个列表中。

    3.4K20

    SqlAlchemy 2.0 中文文档(四十)

    ## 标记隐式生成的值、时间戳和触发列 列在插入或更新时基于其他服务器端数据库机制生成新值,例如某些平台上的时间戳列所见的数据库特定的自动生成行为,以及在插入或更新时调用的自定义触发器生成新值,可以使用...标记隐式生成的值、时间戳和触发列 当插入或更新时,基于其他服务器端数据库机制生成新值的列,例如在某些平台上与时间戳列一起看到的数据库特定的自动生成行为,以及在插入或更新时调用的自定义触发器以生成新值,可以使用...此字典提供了由各种基于模式的构造物代表方言的参数名列表。 新方言通常应将此字典一次性指定为方言类的数据成员。...在这个字典中的字符串模板在与此 MetaData 对象关联的约束或索引没有给出现有名称时使用(包括一个例外情况,即可以进一步装饰现有名称的情况)。...这个字典中的字符串模板在与这个MetaData对象相关联的约束或索引没有给出现有名称时使用(包括一个现有名称可以进一步修饰的例外情况)。

    26410

    没错,这篇文章教你妙用Pandas轻松处理大规模数据

    编译 | AI科技大本营(rgznai100) 参与 | 周翔 注:Pandas(Python Data Analysis Library) 是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的...在这篇文章中,我们将介绍 Pandas 的内存使用情况,以及如何通过为数据框(dataframe)中的列(column)选择适当的数据类型,将数据框的内存占用量减少近 90%。...pdgl = pd.read_csv('game_logs.csv')gl.head() 我们总结了一些重要的列,但是如果你想查看所有的列的指南,我们也为整个数据集创建了一个数据字典: 我们可以使用...让我们创建一个原始数据框的副本,然后分配这些优化后的数字列代替原始数据,并查看现在的内存使用情况。 虽然我们大大减少了数字列的内存使用量,但是从整体来看,我们只是将数据框的内存使用量降低了 7%。...然而,正如我们前面提到那样,我们经常没有足够的内存来表示数据集中所有的值。如果一开始就不能创建数据框,那么我们该怎样使用内存节省技术呢? 幸运的是,当我们读取数据集时,我们可以制定列的最优类型。

    3.7K40

    不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...

    譬如这里我们想要得到gender列的F、M转换为女性、男性的新列,可以有以下几种实现方式: 字典映射 这里我们编写F、M与女性、男性之间一一映射的字典,再利用map()方法来得到映射列: #定义F->女性...其传入的参数为字典,键为变量名,值为对应的聚合函数字符串,譬如{'v1':['sum','mean'], 'v2':['median','max','min]}就代表对数据框中的v1列进行求和、均值操作...下面用几个简单的例子演示其具体使用方式: 聚合Series 在对Series进行聚合时,因为只有1列,所以可以不使用字典的形式传递参数,直接传入函数名列表即可: #求count列的最小值、最大值以及中位数...data['count'].agg(['min','max','median']) 聚合数据框 对数据框进行聚合时因为有多列,所以要使用字典的方式传入聚合方案: data.agg({'year'...reset_index()将索引列还原回变量,但聚合结果的列名变成红色框中奇怪的样子,而在pandas 0.25.0以及之后的版本中,可以使用pd.NamedAgg()来为聚合后的每一列赋予新的名字:

    5.9K31

    不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...

    譬如这里我们想要得到gender列的F、M转换为女性、男性的新列,可以有以下几种实现方式: 字典映射 这里我们编写F、M与女性、男性之间一一映射的字典,再利用map()方法来得到映射列: #定义F->女性...其传入的参数为字典,键为变量名,值为对应的聚合函数字符串,譬如{'v1':['sum','mean'], 'v2':['median','max','min]}就代表对数据框中的v1列进行求和、均值操作...下面用几个简单的例子演示其具体使用方式: 聚合Series 在对Series进行聚合时,因为只有1列,所以可以不使用字典的形式传递参数,直接传入函数名列表即可: #求count列的最小值、最大值以及中位数...聚合数据框 对数据框进行聚合时因为有多列,所以要使用字典的方式传入聚合方案: data.agg({'year': ['max','min'], 'count': ['mean','std']}) ?...可以注意到虽然我们使用reset_index()将索引列还原回变量,但聚合结果的列名变成红色框中奇怪的样子,而在pandas 0.25.0以及之后的版本中,可以使用pd.NamedAgg()来为聚合后的每一列赋予新的名字

    5K10

    主题建模 — 简介与实现

    数据集 为了实施本文涵盖的概念,我们将使用UCI机器学习仓库中的一个数据集,该数据集基于论文“使用深度特征从群体到个体标签”(Kotzias等,2015),可从此链接(CC BY 4.0)下载。...然后将该函数应用于数据框的前10行。 提示:使用nltk.sent_tokenize,它将给定的字符串分割成句子级别的子字符串列表。...问题4: 创建一个函数,接受一个句子列表作为参数,默认为问题1中定义的“make_sentences”函数,然后返回一个包含“句子”和“情感”两列的数据框。...我们将实施以下步骤: 导入DTM和LDA所需的包,并对它们进行实例化 创建我们数据框的“text”列的DTM 使用LDA为提供的DTM创建主题 # Step 1 - Import packages from...结果应以数据框的形式呈现,包含两列。第一列将是每个单词的“概率”,第二列将是与所提供主题(即“search_word”)相关联的“特征”或单词。

    43710

    案例 | 用pdpipe搭建pandas数据分析流水线

    2.2.1 basic_stages basic_stages中包含了对数据框中的行、列进行丢弃/保留、重命名以及重编码的若干类: ColDrop:   这个类用于对指定单个或多个列进行丢弃,其主要参数如下...: columns:字符串或列表,用于指定需要丢弃的列名 errors:字符串,传入 'ignore' 或 'raise',用于指定丢弃指定列时遇到错误采取的应对策略,'ignore'表示忽略异常,'raise...:0或1,0表示删除含有缺失值的行,1表示删除含有缺失值的列 下面是举例演示,首先我们创造一个包含缺失值的数据框: import numpy as np # 创造含有缺失值的示例数据 df = pd.DataFrame...当columns参数设置为None时,这个参数传入的列名列表中指定的列将不进行哑变量处理,默认为None,即不对任何列进行排除 drop_first:bool型或str型,默认为True,这个参数是针对哑变量中类似这样的情况...上文中我们主要演示了单一pipeline部件工作时的细节,接下来我们来了解pdpipe中组装pipeline的几种方式: 2.3.1 PdPipeline 这是我们在2.1中举例说明使用到的创建pipeline

    82410

    (数据科学学习手札72)用pdpipe搭建pandas数据分析流水线

    2.2.1 basic_stages basic_stages中包含了对数据框中的行、列进行丢弃/保留、重命名以及重编码的若干类: ColDrop:   这个类用于对指定单个或多个列进行丢弃...,其主要参数如下: columns:字符串或列表,用于指定需要丢弃的列名 errors:字符串,传入'ignore'或'raise',用于指定丢弃指定列时遇到错误采取的应对策略,'ignore'表示忽略异常...图20 Bin:   这个类用于对连续型数据进行分箱,主要参数如下: bin_map:字典型,传入列名->分界点列表 drop:bool型,决定是否在计算完成后把旧列删除,默认为True,即对应列的计算结果直接替换掉对应的旧列...图23 2.2.3 text_stages text_stages中包含了对数据框中文本型变量进行处理的若干类,下文只介绍其中我认为最有用的: RegexReplace:   这个类用于对文本型列进行基于正则表达式的内容替换...  这是我们在2.1中举例说明使用到的创建pipeline的方法,直接传入由按顺序的pipeline组件组成的列表便可生成所需pipeline,而除了直接将其视为函数直接传入原始数据和一些辅助参数(如

    1.4K10

    如何在 Pandas DataFrame中重命名列?

    可以为这些列创建一个字典,如下所示。...还可以使用.rename方法重命名索引,如果列是字符串值,则更有意义。 因此,我们可以将索引设置为movie_title(电影片名)列,然后将这些值映射为新值。...当列表具有与行和列标签相同数量的元素时,此赋值有 以下代码就显示了这样一个示例 从CSV文件中读取数据,并使用index_col参数告诉Pandas将movie_title列用作索引。...在每个Index对象上使用.to_list方法来创建Python标签列表。 在每个列表中修改3个值,将这3个值重新赋值给.index和.column属性。...使用新的清除列表,可以将结果重新赋值给.columns属性。假设列中有空格和大写字母,此代码将清除它们。

    5.6K20

    【数据处理包Pandas】DataFrame的创建

    一、DataFrame简介   DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...NumPy 库和 Pandas 库: import numpy as np import pandas as pd 二、基于一维数据创建 DataFrame对象看成一维对象的有序序列,序列中的对象元素又分成按列排列和按行排列两种情况...(一)按列排列 按列排列,需要基于字典构建:字典的键对应列名,字典的值可以是一列表、一维Numpy数组、Series 对象,或者字典都行。...(二)按行排列 按行排列,需要基于列表构建:列表中的元素可以是一维 Series 对象、一维列表、一维 Numpy 数组或字典都行。...'英语':93},{'数学':95,'语文':88,'英语':97}],index=['s01','s02']) 三、基于二维数据创建 1、基于二维列表创建 ##***case3-①:基于二维列表创建

    6600

    Python基本手册

    line 将两列若干行的txt文件数据放到一个列表里 >>>f = open("test.txt","r") #读取文件 >>>a = [] #存放的列表a中 >>>for i in f: >>>...) #移除集合中的所有元素,如 a.clear() difference() #根据一个集合中不存在于另一个结合中的元素,创建处一个新的集合,如 >>>a = set([0,1,2]) >>>b = set...(hash table) 散列表:用于存储集合的数据结构称为散列表,每当有元素加入到集合中时,Python就会计算该元素的散列码,散列码是一个整数。...#用于绘制或显示图形图像的区域 Checkbutton #可点击的框,其状态可以是选定的或未选定的 Entry #可供用户输入数据的单行文本框 Frame #用于承载其他小插件的容器 Label...#可供用户输入数据的多行文本框 TopLevel #额外的窗口 from Tkinter import * window = Tk() #创建根窗口 label = Label(window,

    5.4K52

    这个Pandas函数可以自动爬取Web图表

    the web page attrs:传递一个字典,用其中的属性筛选出特定的表格 只需要传入url,就可以抓取网页中的所有表格,抓取表格后存到列表,列表中的每一个表格都是dataframe格式。...,处理方法是将代码中触发“下一页”或“输入框”与“确认”按钮点击事件来实现翻页,从而拿到所有数据。...「header:」 int 或 list-like 或 None, 可选参数该行(或MultiIndex)用于创建列标题。...「index_col:」 int 或 list-like 或 None, 可选参数用于创建索引的列(或列列表)。...「decimal:」 str, 默认为 ‘.’可以识别为小数点的字符(例如,对于欧洲数据,请使用“,”)。 「converters:」 dict, 默认为 None用于在某些列中转换值的函数的字典。

    2.3K40

    Python数据分析-pandas库入门

    Series 中的单个或一组值,代码示例: obj2[['a', 'b', 'c']] obj2['a']=2 obj2[['a', 'b', 'c']] [‘a’,’b’,’c]是索引列表,即使它包含的是字符串而不是整数...DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共用同一个索引)。DataFrame 中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。...例如,我们可以给那个空的 “debt” 列赋上一个标量值或一组值(数组或列表形式),代码示例: frame2.debt = np.arange(6.) frame2 注意:将列表或数组赋值给某个列时,...two', 'four','five']) frame2.debt = val frame2 为不存在的列赋值会创建出一个新列。

    3.7K20

    使用管理门户SQL接口(一)

    可以对现有的表和数据执行SQL查询,创建表,或插入、更新或删除表数据。...可以使用X图标删除文本框的内容。使用Show History列表选择前面的SQL语句。 选中的语句将复制到文本框中。 执行时,该语句移到Show History列表的顶部。...表拖放可以通过从屏幕左侧的表列表(或视图列表)拖动表(或视图)来生成查询,并将其丢弃到执行查询文本框中。这在表中生成了选择的选项列表,以及指定表的表中的所有非隐藏字段。...与现有缓存查询相同的查询,除了文字替换值(例如TOP子句值和谓词文字)之外,不会创建新的缓存查询。有些SQL语句是不缓存的,包括DDL语句和权限分配语句。...可以过滤Show History列表,如下所示:在过滤框中指定一个字符串,然后按Tab键。只有包含该字符串的历史项才会包含在刷新后的列表中。

    8.4K10
    领券