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

【Python】基于多列组合删除数据重复

最近公司在做关联图谱项目,想挖掘团伙犯罪。在准备关系数据时需要根据两列组合删除数据重复,两列中元素顺序可能是相反。...本文介绍一句语句解决多列组合删除数据重复问题。 一、举一个小例子 在Python中有一个包含3列数据,希望根据列name1和name2组合(在两顺序不一样)消除重复项。...二、基于两列删除数据重复 1 加载数据 # coding: utf-8 import os #导入设置路径库 import pandas as pd #导入数据处理库...经过这个函数就可以解决两中值顺序不一致问题。因为集合是无序,只要相同不用考虑顺序。 duplicated():判断变成冻结集合列是否存在重复,若存在标记为True。...从上图可以看出用set替换frozense会报不可哈希错误。 三、把代码推广到多列 解决多列组合删除数据重复问题,只要把代码取两列代码变成多列即可。

14.6K30

用过Excel,就会获取pandas数据框架和列

在Python数据存储在计算机内存(即,用户不能直接看到),幸运pandas库提供了获取值、和列简单方法。 先准备一个数据框架,这样我们就有一些要处理东西了。...df.columns 提供列(标题)名称列表。 df.shape 显示数据框架维度,在本例为45列。 图3 使用pandas获取列 有几种方法可以在pandas获取列。...要获取前三,可以执行以下操作: 图8 使用pandas获取单元格 要获取单个单元格,我们需要使用和列交集。...想想如何在Excel引用单元格,例如单元格“C10”或单元格区域“C10:E20”。以下两种方法都遵循这种和列思想。 方括号表示法 使用方括号表示法,语法如下:df[列名][索引]。...记住这种表示法一个更简单方法是:df[列名]提供一列,然后添加另一个[索引]将提供该列特定项。 假设我们想获取第2Mary Jane所在城市。

18.9K60
您找到你想要的搜索结果了吗?
是的
没有找到

numpy和pandas库实战——批量得到文件夹下多个CSV文件一列数据并求其最

/前言/ 前几天群里有个小伙伴问了一个问题,关于Python读取文件夹下多个CSV文件一列数据并求其最大和最小,大家讨论甚为激烈,在此总结了两个方法,希望后面有遇到该问题小伙伴可以少走弯路...通常我们通过Python来处理数据,用比较多两个库就是numpy和pandas,在本篇文章,将分别利用两个库来进行操作。...3、其中使用pandas库来实现读取文件夹下多个CSV文件一列数据并求其最大和最小代码如下图所示。 ? 4、通过pandas库求取结果如下图所示。 ?...通过该方法,便可以快速取到文件夹下所有文件一列最大和最小。 5、下面使用numpy库来实现读取文件夹下多个CSV文件一列数据并求其最大和最小代码如下图所示。 ?.../小结/ 本文基于Python,使用numpy库和pandas库实现了读取文件夹下多个CSV文件,并求取文件一列数据最大和最小,当然除了这两种方法之外,肯定还有其他方法也可以做得到,欢迎大家积极探讨

9.3K20

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

最原始数据是 127 个独立 CSV 文件,不过我们已经使用 csvkit 合并了这些文件,并且在第一为每一列添加了名字。...这是因为数据块对存储数据实际进行了优化,BlockManager class 负责维护、列索引与实际数据块之间映射。它像一个 API 来提供访问底层数据接口。...对于表示数值(整数和浮点数)块,Pandas 将这些列组合在一起,并存储为 NumPy ndarry 数组。...因为 Pandas 相同类型会分配到相同字节数,而 NumPy ndarray 里存储了数量,所以 Pandas 可以快速并准确地返回一个数值列占用字节数。...这两种类型具有相同存储容量,但如果只存储正数,无符号整数显然能够让我们更高效地存储只包含正值列。

3.6K40

Pandas速查卡-Python数据科学

('1900/1/30', periods=df.shape[0]) 添加日期索引 查看/检查数据 df.head(n) 数据前n df.tail(n) 数据后n df.shape() 行数和列数...) 从一列返回一组对象 df.groupby([col1,col2]) 从多列返回一组对象 df.groupby(col1)[col2] 返回col2平均值,按col1分组(平均值可以用统计部分几乎任何函数替换...加入/合并 df1.append(df2) 将df1添加到df2末尾(列数应该相同) df.concat([df1, df2],axis=1) 将df1列添加到df2末尾(行数应该相同...) df1.join(df2,on=col1,how='inner') SQL类型将df1列与df2上列连接,其中col具有相同。...df.describe() 数值列汇总统计信息 df.mean() 返回所有列平均值 df.corr() 查找数据列之间相关性 df.count() 计算每个数据非空数量 df.max

9.2K80

数据分析】数据缺失影响模型效果?是时候需要missingno工具包来帮你了!

其他列(WELL、DEPTH_MD和GR)是完整,并且具有最大数。 矩阵图 如果使用深度相关数据或时间序列数据,矩阵图是一个很好工具。它为每一列提供颜色填充。...这是在条形图中确定,但附加好处是您可以「查看丢失数据数据分布情况」。 绘图右侧是一个迷你图,范围从左侧0到右侧数据总列数。上图为特写镜头。...当一每列中都有一个时,该行将位于最右边位置。当该行缺少开始增加时,该行将向左移动。 热图 热图用于确定不同列之间零度相关性。换言之,它可以用来标识每一列之间是否存在空关系。...接近正1表示一列存在空与另一列存在空相关。 接近负1表示一列存在空与另一列存在空是反相关。换句话说,当一列存在空时,另一列存在数据,反之亦然。...如果在零级将多个列组合在一起,则其中一列是否存在空与其他列是否存在空直接相关。树列越分离,列之间关联null可能性就越小。

4.7K30

【Python】基于某些列删除数据重复

subset:用来指定特定列,根据指定列对数据去重。默认为None,即DataFrame中一元素全部相同时才去除。...导入数据处理库 os.chdir('F:/微信公众号/Python/26.基于多列组合删除数据重复') #把路径改为数据存放路径 name = pd.read_csv('name.csv...原始数据只有第二和最后一存在重复,默认保留第一条,故删除最后一条得到新数据。 想要根据更多列数去重,可以在subset添加列。...如果不写subset参数,默认为None,即DataFrame中一元素全部相同时才去除。 从上文可以发现,在Python中用drop_duplicates函数可以轻松地对数据进行去重。...但是对于两列中元素顺序相反数据去重,drop_duplicates函数无能为力。 如需处理这种类型数据去重问题,参见本公众号文章【Python】基于多列组合删除数据重复。 -end-

18.1K31

直观地解释和可视化每个复杂DataFrame操作

操作数据帧可能很快会成为一项复杂任务,因此在Pandas八种技术均提供了说明,可视化,代码和技巧来记住如何做。 ?...Melt Melt可以被认为是“不可透视”,因为它将基于矩阵数据具有二维)转换为基于列表数据(列表示表示唯一数据点),而枢轴则相反。...包含列将转换为两列:一列用于变量(名称),另一列用于(变量包含数字)。 ? 结果是ID列(a,b,c)和列(B,C)及其对应每种组合,以列表格式组织。...另一方面,如果一个键在同一DataFrame列出两次,则在合并表中将列出同一键每个组合。...例如,考虑使用pandas.concat([df1,df2])串联具有相同列名 两个DataFrame df1 和 df2 : ?

13.3K20

使用pandas进行数据快捷加载

默认情况下,pandas会将数据存储到一个专门数据结构,这个数据结构能够实现按索引、通过自定义分隔符分隔变量、推断每一列正确数据类型、转换数据(如果需要的话),以及解析日期、缺失和出错数据。...irispandas数据(DataFrame)。...以下是X数据后4数据: ? 在这个例子,得到结果是一个pandas数据。为什么使用相同函数却有如此大差异呢?...那么,在前一个例子,我们想要抽取一列,因此,结果是一维向量(即pandas series)。 在第二个例子,我们要抽取多列,于是得到了类似矩阵结果(我们知道矩阵可以映射为pandas数据)。...然后,接下来步骤需要弄清楚要处理问题规模,因此,你需要知道数据大小。通常,对每个观测计为一,对每一个特征计为一列

2.1K21

Day4.利用Pandas数据处理

在NumPy数据结构是围绕ndarray展开, 那么在Pandas核心数据结构是Series和 DataFrame,分别代表着一维序列和二维表结构。...计算时,如果 Pandas在两个Series里找不到相同 index,对应位置就返回一个空 NaN。...,将表格几列数据组合在一起时,部分列多出几行;表格一列可以看做一个Series对象 data = { 'Name':pd.Series(['zs','ls','we'],index=['a...此外我们还要掌握常见取数方法,取和列,包括某行某列,连续和列,间断和列,单个数据等,这些取数方法与NumPy取数方法相同,括号索引以逗号分隔,逗号前为,后为列。...b 1 1 b 1 c 2 2 c 2 d 3 3 d 2 e 4 4 e 2 将一列数据变为索引好处是,索引从0开始,如果要按照表格一列id列序号,从1

6K10

数据科学学习手札92)利用query()与eval()优化pandas代码

本文就将带大家学习如何在pandas化繁为简,利用query()和eval()来实现高效简洁数据查询与运算。 ?...图9 2.6 对Index与MultiIndex支持   除了对常规字段进行条件筛选,query()还支持对数据自身index进行条件筛选,具体可分为三种情况: 常规index   对于只具有单列...而pandaseval()有两种,一种是top-level级别的eval()函数,而另一种是针对数据DataFrame.eval(),我们接下来要介绍是后者,其与query()有很多相同之处,...策略之后无法被解析日期会填充pd.NAT,而缺失之间是无法进行相等比较: # 利用assign进行新增字段计算并保存为新数据 result1 = netflix.assign(years_to_now...图13   虽然assign()已经算是pandas简化代码很好用API了,但面对eval(),还是逊色不少 DataFrame.eval()通过传入多行表达式,每行作为独立赋值语句,其中对应前面数据数据字段可以像

1.7K20

利用query()与eval()优化pandas代码

因此很多时候为了提升整个数据分析工作流「执行效率」以及代码「简洁性」,需要配合一些pandas高级特性。...本文就将带大家学习如何在pandas化繁为简,利用query()和eval()来实现高效简洁数据查询与运算。...: 「常规index」 对于只具有单列Index数据,直接在表达式中使用index: # 找出索引列包含king记录,忽略大小写 netflix.set_index('title').query...而pandaseval()有两种,一种是top-level级别的eval()函数,而另一种是针对数据DataFrame.eval(),我们接下来要介绍是后者,其与query()有很多相同之处,...策略之后无法被解析日期会填充pd.NAT,而缺失之间是无法进行相等比较: # 利用assign进行新增字段计算并保存为新数据 result1 = netflix.assign(years_to_now

1.5K30

Pandas知识点-索引和切片操作

索引和切片操作是最基本最常用数据处理操作,Pandas索引和切片操作基于Python语言特性,支持类似于numpy操作,也可以使用标签、列标签以及标签与列标签组合来进行索引和切片操作...获取DataFrame一列数据有两种方式,第一种是用 data['列索引'] , data['收盘价'] 可以获取收盘价这一列数据。...iloc属性基于数值索引获取数据,用法为 data.iloc[数值] , data.iloc[0] 是获取DataFrame第一数据,与 data.loc['2021-02-19'] 结果相同。...在Pandas,取数据逻辑通常是先获取某一列数据,然后再取这列数据某个数据,所以默认采用了“先列后行”方式,如果顺序反了会报错。 ?...使用iloc进行切片操作时,切片规则与Python基本切片规则相同,传入切片索引是左闭右开(包含起始,不包含结束)。 ?

2.3K20

《Python for Excel》读书笔记连载12:使用pandas进行数据分析之理解数据

7.Python入门之语句、函数和代码组织 8.NumPy入门 9.使用pandas进行数据分析之核心数据结构——数据框架和系列 10.使用pandas进行数据分析之数据操作 11.使用pandas进行数据分析之组合数据...默认情况下,它们返回沿轴axis=0系列,这意味着可以获得列统计信息: 如果需要每行统计信息,使用axis参数: 默认情况下,缺失不包括在描述性统计信息(sum或mean),这与Excel...处理空单元格方式一致,因此在包含空单元格区域内使用ExcelAVERAGE公式将获得与应用于具有相同数字和NaN(而不是空单元格)系列mean方法相同结果。...index和columns分别定义数据框架一列将成为透视表和列标签。...Region)唯一,并将其转换为透视表列标题,从而聚合来自另一列

4.2K30

Python代码实操:详解数据清洗

(df) 通过Pandas生成一个64列,列名分别为'col1'、'col2'、'col3'、'col4'数据。...然后使用预处理对象 fit_transform 方法对 df(数据对象)进行处理,该方法是将 fit 和 transform 组合起来使用。...先通过 df.copy() 复制一个原始数据副本,用来存储Z-Score标准化后得分,再通过 df.columns 获得原始数据列名,接着通过循环判断每一列异常值。...删除数据记录中所有列相同记录,index为2记录被删除: col1 col2 0 a 3 1 b 2 3 c 2 删除数据记录col1相同记录...,index为2记录被删除: col1 col2 0 a 3 1 b 2 3 c 2 删除数据记录col2相同记录,index为2和3记录被删除

4.8K20

通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

Series 序列是表示 DataFrame 一列数据结构。使用序列类似于引用电子表格列。 4. Index 每个 DataFrame 和 Series 都有一个索引,它们是数据标签。...在 Pandas ,索引可以设置为一个(或多个)唯一,这就像在工作表中有一列用作标识符一样。与大多数电子表格不同,这些索引实际上可用于引用。...df.sort_values("col1", inplace=True) 数据输入和输出 1. 利用构造一个数据DataFrame 在Excel电子表格可以直接输入到单元格。...pandas 通过在 DataFrame 中指定单个系列来提供矢量化操作。可以以相同方式分配新列。DataFrame.drop() 方法从 DataFrame 删除一列。...If/then逻辑 假设我们想要根据 total_bill 是小于还是大于 10 美元,来创建一个具有和高列。 在Excel电子表格,可以使用条件公式进行逻辑比较。

19.5K20

数据科学学习手札06)Python在数据操作上总结(初级篇)

pd.DataFrame()常用参数: data:可接受numpyndarray,标准字典,dataframe,其中,字典可以为Series,arrays,常数或列表 index:数据索引...,储存对两个数据重复非联结键列进行重命名后缀,默认为('_x','_y') indicator:是否生成一列_merge,来为合并后每行标记其中数据来源,有left_only,right_only...7.数据条件筛选 在日常数据分析工作,经常会遇到要抽取具有某些限定条件样本来进行分析,在SQL我们可以使用Select语句来选择,而在pandas,也有几种相类似的方法: 方法1: A =...12.缺失处理 常用处理数据缺失方法如下: df.dropna():删去含有缺失 df.fillna():以自定义方式填充数据缺失位置,参数value控制往空缺位置填充,...method控制插方式,默认为'ffill',即用上面最近非缺省来填充下面的缺失位置 df.isnull():生成与原数据形状相同数据数据中元素为判断每一个位置是否为缺失返回bool

14.2K51

Pandas常用命令汇总,建议收藏!

凭借其广泛功能,Pandas 对于数据清理、预处理、整理和探索性数据分析等活动具有很大价值。 Pandas核心数据结构是Series和DataFrame。...利用这些数据结构以及广泛功能,用户可以快速加载、转换、过滤、聚合和可视化数据Pandas与其他流行Python库(NumPy、Matplotlib和scikit-learn)快速集成。...] # 根据条件选择数据和列 df.loc[df['column_name'] > 5, ['column_name1', 'column_name2']] / 04 / 数据清洗 数据清洗是数据预处理阶段重要步骤...,你可以使用各种函数基于公共列或索引来连接或组合多个DataFrame。...统计 Pandas提供了广泛统计函数和方法来分析DataFrame或Series数据

36310

6个冷门但实用pandas知识点

记录顺序 有时候我们需要对数据整体顺序进行打乱,譬如在训练机器学习模型时,打乱原始数据顺序后取前若干作为训练集后若干作为测试集,这在pandas可以利用sample()方法快捷实现。...range(5), 'V2': range(5) }) df.sample(frac=1) 图4 2.3 利用类别型数据减少内存消耗 当我们数据某些列是由少数几种大量重复形成时,会消耗大量内存...2.4 pandasobject类型陷阱 在日常使用pandas处理数据过程,经常会遇到object这种数据类型,很多初学者都会把它视为字符串,事实上object在pandas可以代表不确定数据类型...在pandas我们可以对单个Series查看hanans属性来了解其是否包含缺失,而结合apply(),我们就可以快速查看整个数据哪些列含有缺失: df = pd.DataFrame({...在pandas我们可以利用rank()方法计算某一列数据对应排名信息,但在rank()中有参数method来控制具体结果计算策略,有以下5种策略,在具体使用时候要根据需要灵活选择: 「average

86930

6个冷门但实用pandas知识点

图3 2.2 随机打乱DataFrame记录顺序   有时候我们需要对数据整体顺序进行打乱,譬如在训练机器学习模型时,打乱原始数据顺序后取前若干作为训练集后若干作为测试集,这在pandas...图4 2.3 利用类别型数据减少内存消耗   当我们数据某些列是由少数几种大量重复形成时,会消耗大量内存,就像下面的例子一样: import numpy as np pool = ['A',...2.4 pandasobject类型陷阱   在日常使用pandas处理数据过程,经常会遇到object这种数据类型,很多初学者都会把它视为字符串,事实上object在pandas可以代表不确定数据类型...图10 2.5 快速判断每一列是否有缺失   在pandas我们可以对单个Series查看hanans属性来了解其是否包含缺失,而结合apply(),我们就可以快速查看整个数据哪些列含有缺失...图11 2.6 使用rank()计算排名时五种策略   在pandas我们可以利用rank()方法计算某一列数据对应排名信息,但在rank()中有参数method来控制具体结果计算策略,有以下5

1.2K40
领券