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

如何使用pandas比较基于2列的两个不同的csv文件,并打印第二个csv文件中不匹配的行

使用pandas比较基于2列的两个不同的CSV文件,并打印第二个CSV文件中不匹配的行,可以按照以下步骤进行:

  1. 导入必要的库和模块:
代码语言:txt
复制
import pandas as pd
  1. 读取两个CSV文件并创建DataFrame对象:
代码语言:txt
复制
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
  1. 使用pandas的merge()函数将两个DataFrame对象基于指定的列进行合并:
代码语言:txt
复制
merged_df = pd.merge(df1, df2, on=['column1', 'column2'], how='outer', indicator=True)

这里的'column1'和'column2'是要比较的两列名称。

  1. 过滤出第二个CSV文件中不匹配的行:
代码语言:txt
复制
unmatched_rows = merged_df[merged_df['_merge'] == 'right_only']

这里使用了_merge列来标记合并结果,'right_only'表示第二个CSV文件中的行。

  1. 打印不匹配的行:
代码语言:txt
复制
print(unmatched_rows)

完整的代码示例:

代码语言:txt
复制
import pandas as pd

df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')

merged_df = pd.merge(df1, df2, on=['column1', 'column2'], how='outer', indicator=True)
unmatched_rows = merged_df[merged_df['_merge'] == 'right_only']

print(unmatched_rows)

以上代码会比较两个CSV文件中的指定列,并打印出第二个CSV文件中不匹配的行。请将'file1.csv'和'file2.csv'替换为实际的文件路径。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

多表格文件单元格平均值计算实例解析

我们以CSV文件为例,每个文件包含不同和列,其中每个单元格包含数值数据。文件命名和数据结构示例文件命名遵循以下规则:Data_XXX.csv,其中XXX表示文件编号。...获取文件路径列表: 使用列表推导式获取匹配条件文件路径列表。创建空数据框: 使用pandas创建一个空数据框,用于存储所有文件数据。...总体来说,这段代码目的是从指定文件读取符合特定模式CSV文件,过滤掉值为0,计算每天平均值,并将结果保存为一个新CSV文件。...总结这篇文章介绍了如何使用Python处理包含多个表格文件任务,计算特定单元格数据平均值。...脚本使用了os、pandas和glob等库,通过循环处理每个文件,提取关键列数据,最终计算打印出特定单元格数据平均值。

18200
  • Python3分析CSV数据

    2.2 筛选特定 在输入文件筛选出特定三种方法: 值满足某个条件 值属于某个集合 匹配正则表达式 从输入文件筛选出特定通用代码结构: for row in filereader...(output_file, index=False) 2.5 添加标题 pandasread_csv函数可以指定输入文件包含标题,并可以提供一个列标题列表。...,使用glob模块和os模块函数创建输入文件列表以供处理。...最后,在第15 代码打印了每个文件信息之后,第17 代码使用file_counter 变量值显示出脚本处理文件数量。...下面的代码演示了如何对于多个文件某一列计算这两个统计量(总计和均值),并将每个输入文件计算结果写入输出文件。 #!

    6.7K10

    Python处理CSV文件(一)

    第 14 代码使用 filewriter 对象 write 方法将 header_list 每个值写入输出文件。因为这行代码比较复杂,所以需要仔细说明一下。...pandas使用 pandas 处理 CSV 文件,在文本编辑器输入下列代码,并将文件保存为 pandas_parsing_and_write.py(这个脚本读取 CSV 文件,在屏幕上打印文件内容...接下来导入 Python 内置 csv 模块并用它来处理包含数值 6,015.00 和 1,006,015.00 输入文件。你将学会如何使用 csv 模块,理解它是如何处理数据逗号。...第 8 代码,就是在第二个 with 语句下面的那行代码,使用 csv 模块 reader 函数创建了一个文件读取对象,名为 filereader,可以使用这个对象来读取输入文件。...我们知道了如何使用 csv 模块来读取、处理和写入 CSV 文件,下面开始学习如何筛选出特定以及如何选择特定列,以便可以有效地抽取出需要数据。

    17.7K10

    资源 | 简单快捷数据处理,数据科学需要注意命令行

    iconv -c 忽略不能转换非法字符,静默地丢弃 HEAD(用于显示文件开头内容) 如果你是一个频繁使用 Pandas 用户,那么你会比较熟悉 df.head()。...可选参数: wc -c 打印 Bytes 数目 wc -m 打印出字符数 wc -L 打印出最长字符数 wc -w 打印出单词数目 SPLIT(把一个大文件分割成小文件命令) 文件大小可以使用这个命令大幅度改变...(sort:文件排序;uniq:报告或忽略文件重复,与 sort 结合使用) 这两个命令提供了唯一单词计数,这是因为 uniq 仅仅在重复相邻上运行。...可选参数: join -a 打印不能匹配 join -e 替换丢失输入字段 join -j 等价于 -1 FIELD -2 FIELD GREP(这是一种强大文本搜索工具) 全面搜索正则表达式打印...要在文件获取第五十三条记录,代码如下: awk -F, 'NR == 53' filename.csv 一个额外功能是基于一个或多个值进行过滤能力。

    1.5K50

    最全攻略:数据分析师必备Python编程基础知识

    4.1 For循环 下面是一个for循环例子, i用于指代一个可迭代对象a一个元素,for循环写好条件后以冒号结束,换行缩进,第二是针对每次循环执行语句,这里是打印列表a每一个元素。...a索引序列,这里打印索引打印a向量索引下取值。...Python模块 为了编写可维护代码,可以把很多函数分组,分别放到不同文件里,这样,每个文件包含代码就相对较少,很多编程语言都采用这种组织代码方式。...若不太清楚如何使用Python (含第三方包和库)方法和对象,可以查阅相关文档或使用帮助功能,代码获取帮助信息方式有多种,比如如下几种: ?np.mean ??...读取数据 1.1 使用Pandas读取文件 PythonPandas库提供了便捷读取本地结构化数据方法,这里主要以csv数据为例。

    4.6K21

    【Python】.tsp文件读取

    具体步骤 1、查看源数据 在pycharm可以打开tsp文件,可以发现,所有数据集格式都一致,从第七开始是具体数据,第一列是标号,第二列是城市x坐标,第三列是城市y坐标。...2、加载文件 使用pandasread_csv接口可以成功加载很多格式文件。 接口有很多参数,具体可以参见pandas.read_csv参数整理 df = pd.read_csv('....=6,跳过前7,注:skiprows以0作为第一; header = None 即纯数据,包含表格。...3、读取城市序号 进行完上面的操作后,df就成为了一个DateFrame对象,索引时需注意,第一个为列标,第二个标(和二维数组索引顺序相反) 由于最后一以EOF结束,因此我们需读取len(df)...city_name = city.tolist() 4、读取城市坐标 读取城市坐标和上面就比较类似了,分别用两个array进行读取,之后再用zip一一配对。

    2.2K20

    教程|Python Web页面抓取:循序渐进

    这次会概述入门所需知识,包括如何从页面源获取基于文本数据以及如何将这些数据存储到文件根据设置参数对输出进行排序。最后,还会介绍Python Web爬虫高级功能。...如果收到消息表明版本不匹配,重新下载正确webdriver可执行文件。 确定对象,建立Lists Python允许程序员在指定确切类型情况下设计对象。只需键入对象标题指定一个值即可。...数组有许多不同值,通常使用简单循环将每个条目分隔到输出单独一: 输出2.png 在这一点上,“print”和“for”都是可行。启动循环只是为了快速测试和调试。...因为将执行类似的操作,所以建议暂时删除“print”循环,将数据结果输入到csv文件。 输出5.png 两个新语句依赖于pandas库。第一条语句创建变量“ df”,并将其对象转换为二维数据表。...第二条语句将变量“df”数据移动到特定文件类型(在本例为“ csv”)。第一个参数为即将创建文件和扩展名分配名称。因为“pandas”输出文件不带扩展名,所以需要手动添加扩展名。

    9.2K50

    Excel打不开“巨大csv文件或文本文件,Python轻松搞定

    下面将首先探讨如何检查大型csv文件内容,然后我们将大文件分解成小文件,这样数据就可以在Excel中使用。...出于演示目的,我们不会使用8GB大型csv文件;相反,假设使用一个只有2600数据较小文件。 同以前一样,从导入必需库开始,在本练习,我们只需要pandas。...csv文件是逗号分隔值文件,基本上是文本文件。此方法有一个可选参数nrows,用于指定要加载行数。 第一个变量df加载了csv文件所有内容,而第二个变量df_small只加载前1000数据。...图1:两个数据框架大小(行数,列数) 如上所示,“large_data.csv文件总共包含259922列数据。还可以确认,在df_small变量,只加载了前100022列数据。...现代版本Excel可以轻松处理这些文件大小。 这一次,我们将以稍微不同方式加载数据框架——使用可选参数chunksize。同样,出于演示目的,我们使用了一个小得多文件

    7.4K30

    别说你会用Pandas

    说到Python处理大数据集,可能会第一时间想到Numpy或者Pandas。 这两个使用场景有些不同,Numpy擅长于数值计算,因为它基于数组来运算,数组在内存布局非常紧凑,所以计算能力强。...import pandas as pd # 设置分块大小,例如每次读取 10000 chunksize = 10000 # 使用 chunksize 参数分块读取 CSV 文件...for chunk in pd.read_csv('large_file.csv', chunksize=chunksize): # 在这里处理每个 chunk,例如打印每行信息...chunk 写入不同文件,或者对 chunk 进行某种计算保存结果 但使用分块读取时也要注意,不要在循环内部进行大量计算或内存密集型操作,否则可能会消耗过多内存或降低性能。...) # 将结果保存到新 CSV 文件 # 注意:Spark 默认不会保存表头到 CSV,你可能需要手动处理这个问题 df_transformed.write.csv("path_to_save_transformed_csv

    12110

    如何使用统计显着性检验来解释机器学习结果

    他们是: 生成示例数据 摘要统计 正态性测试 比较高斯结果手段 高斯结果与不同方差比较均值 比较非高斯结果手段 本教程假定Python 2或3以及带有NumPy,Pandas和Matplotlib...我们可以通过产生两个分布在稍微不同方式上高斯随机数总体来模拟这个问题。 下面的代码生成第一个算法结果。总共1000个结果存储在名为results1.csv文件。...现在我们可以生成第二个算法结果。我们将使用相同方法,并从略微不同高斯分布(平均值为60,具有相同标准偏差)得出结果。结果写入results2.csv。...我们可以使用统计检验来确认从两个分布得到结果是高斯(也称为正态分布)。 在SciPy,这是normaltest() 函数。 从文档,测试描述为: 测试样本是否与正态分布不同。...如何使用统计检验来检查平均结果之间差异对于具有相同和不同方差高斯数据是否显着。 如何使用统计测试来检查平均结果之间差异是否对非高斯数据有意义。

    3K100

    Python数据分析实战之数据获取三大招

    2、Python基于文件对象分为3种方法 hon基于文件对象分为3种方法 Methods Describe Return read 读取文件全部数据,直到到达定义size字节数上限 内容字符串,所有合并为一个字符串...遇到有些编码规范文件,你可能会遇到UnicodeDecodeError,因为在文本文件可能夹杂了一些非法编码字符。...如果指定参数,则会尝试使用逗号分隔。分隔符长于一个字符并且不是‘\s+’,将使用python语法分析器。并且忽略数据逗号。...{‘foo’ : [1, 3]} -> 将1,3列合并,给合并后列起名为"foo" 2、常见问题 路径内有中文csv >>> import pandas as pd >>> #df=pd.read_csv...空("")分隔符表示该文件应该作为二进制文件处理。分隔符空格(" ")匹配零个或多个空格字符。仅由空格组成分隔符必须至少匹配一个空白。

    6.1K20

    05.记录合并&字段合并&字段匹配1.记录合并2.字段合并3.字段匹配3.1 默认只保留连接上部分3.2 使用左连接3.3 使用右连接3.4 保留左右表所有数据

    屏幕快照 2018-07-02 21.47.59.png 2.字段合并 将同一个数据框不同列合并成新列。 方法x = x1 + x2 + x3 + ...合并后数据以序列形式返回。...函数merge(x, y, left_on, right_on) 需要匹配数据列,应使用用一种数据类型。...返回值:DataFrame 参数 注释 x 第一个数据框 y 第二个数据框 left_on 第一个数据框用于匹配列 right_on 第二个数据框用于匹配列 import pandas items...屏幕快照 2018-07-02 22.02.37.png 3.2 使用左连接 即使与右边数据框匹配不上,也要保留左边内容,右边未匹配数据用空值代替 itemPrices = pandas.merge(...屏幕快照 2018-07-02 21.38.49.png 3.4 保留左右表所有数据 即使连接上,也保留所有未连接部分,使用空值填充 itemPrices = pandas.merge(

    3.5K20

    Python与Excel协同应用初学者指南

    这里将主要介绍如何使用Python编程语言并在直接使用Microsoft Excel应用程序情况下处理Excel。...数据可能位于Excel文件,也可能使用.csv、.txt、.JSON等文件扩展名来保存。数据可以是定性,也可以是定量。根据计划解决问题类型,数据类型可能会有所不同。...如何将数据框架写入Excel文件 由于使用.csv或.xlsx文件格式在Pandas中装载和读取文件,类似地,可以将Pandas数据框架保存为使用.xlsxExcel文件,或保存为.csv文件。...可以在下面看到它工作原理: 图15 已经为在特定列具有值行检索了值,但是如果要打印文件而不只是关注一列,需要做什么? 当然,可以使用另一个for循环。...然后,对于位于该区域每个单元格,打印该单元格包含坐标和值。每行结束后,将打印一条消息,表明cellObj区域打印

    17.4K20

    Python数据分析实战之数据获取三大招

    2、Python基于文件对象分为3种方法 hon基于文件对象分为3种方法 Methods Describe Return read 读取文件全部数据,直到到达定义size字节数上限 内容字符串,所有合并为一个字符串...遇到有些编码规范文件,你可能会遇到UnicodeDecodeError,因为在文本文件可能夹杂了一些非法编码字符。...如果指定参数,则会尝试使用逗号分隔。分隔符长于一个字符并且不是‘\s+’,将使用python语法分析器。并且忽略数据逗号。...{‘foo’ : [1, 3]} -> 将1,3列合并,给合并后列起名为"foo" 2、常见问题 路径内有中文csv >>> import pandas as pd >>> #df=pd.read_csv...空("")分隔符表示该文件应该作为二进制文件处理。分隔符空格(" ")匹配零个或多个空格字符。仅由空格组成分隔符必须至少匹配一个空白。

    6.5K30

    合并没有共同特征数据集

    对于有共同标识符两个数据集,可以使用Pandas中提供常规方法合并,但是,如果两个数据集没有共同唯一标识符,怎么合并?这就是本文所要阐述问题。...对此,有两个术语会经常用到:记录连接和模糊匹配,例如,尝试把基于人名把不同数据文件连接在一起,或合并只有组织名称和地址数据等,都是利用“记录链接”和“模糊匹配”完成。...在本文中,我们将学习如何使用两个工具(或者两个库)来匹配两个不同数据集,也就是基于名称和地址信息数据集。此外,我们还将简要学习如何把这些匹配技术用于删除重复数据。...方法1:fuzzymather包 在第一种方法,我们将尝试使用fuzzymatcher,这个包利用sqlite全文搜索功能来尝试匹配两个不同DataFrame记录。...这些项目对应着我们所定义比较,1代表匹配,0代表匹配。 由于大量记录没有匹配项,难以看出我们可能有多少匹配项,为此可以把单个得分加起来查看匹配效果。

    1.6K20

    Pandas学习经历及动手实践

    两种核心数据结构 2.1 Series Series 是个定长字典序列。说是定长是因为在存储时候,相当于两个 ndarray,这也是和字典结构最大不同。...因为在字典结构里,元素个数是固定。 Series 有两个基本属性:index 和 values。...Pandas 允许直接从 xlsx,csv文件中导入数据,也可以输出到 xlsx, csv文件,非常方便。...手动压缩本文一直使用 test.csv 为 test.zip 文件,然后打开 In [73]: df = pd.read_csv('test.zip',sep='\s+',compression='...,这时只要使用 drop_duplicates() 就会自动把重复去掉 df = df.drop_duplicates() #去除重复 (2.4)格式问题 更改数据格式 这是个比较常用操作,因为很多时候数据格式规范

    1.8K10

    Pandas快速上手!

    两种核心数据结构 2.1 Series Series 是个定长字典序列。说是定长是因为在存储时候,相当于两个 ndarray,这也是和字典结构最大不同。...因为在字典结构里,元素个数是固定。 Series 有两个基本属性:index 和 values。...Pandas 允许直接从 xlsx,csv文件中导入数据,也可以输出到 xlsx, csv文件,非常方便。...手动压缩本文一直使用 test.csv 为 test.zip 文件,然后打开 In [73]: df = pd.read_csv('test.zip',sep='\s+',compression='...,这时只要使用 drop_duplicates() 就会自动把重复去掉 df = df.drop_duplicates() #去除重复 (2.4)格式问题 更改数据格式 这是个比较常用操作,因为很多时候数据格式规范

    1.3K50
    领券