如何使用Python中的Pandas按特定列合并两个csv文件

如何使用Python中的Pandas按特定列合并两个csv文件

在这篇文章中,我们将讨论如何合并两个CSV文件,在pandas库中有一个函数pandas.merge()。合并的意思无非是将两个数据集根据共同的属性或列合并成一个。

语法: pandas.merge()

参数 :

  • data1, data2:用于合并的数据帧。
  • how:{‘left’, ‘right’, ‘outer’, ‘inner’},默认’inner’
  • on:label 或 list

返回: 两个合并对象的数据框架。

有4种类型的合并。

  • Inner
  • Left
  • Right
  • Outer

我们将使用以下两个csv文件,即loan.csv和borrower.csv来执行所有操作。

如何使用Python中的Pandas按特定列合并两个csv文件?

Inner Join

通过设置how=’inner‘,它将基于指定的列合并两个数据框,然后返回新的数据框,其中只包含那些在两个原始数据框中都有匹配值的记录。

如何使用Python中的Pandas按特定列合并两个csv文件?

代码:

import pandas as pd
  
# reading two csv files
data1 = pd.read_csv('datasets/loan.csv')
data2 = pd.read_csv('datasets/borrower.csv')
  
# using merge function by setting how='inner'
output1 = pd.merge(data1, data2, 
                   on='LOAN_NO', 
                   how='inner')
  
# displaying result
print(output1)

输出:

如何使用Python中的Pandas按特定列合并两个csv文件?

左外联接

通过设置how=’left’,它将根据指定的列合并两个数据框,然后返回新的数据框,其中包含左数据框的所有记录,包括那些在右数据框中没有值的记录,并将右数据框的列值设置为NAN。

如何使用Python中的Pandas按特定列合并两个csv文件?

代码:

import pandas as pd
  
# reading csv files
data1 = pd.read_csv('datasets/loan.csv')
data2 = pd.read_csv('datasets/borrower.csv')
  
# using merge function by setting how='left'
output2 = pd.merge(data1, data2, 
                   on='LOAN_NO', 
                   how='left')
  
# displaying result
print(output2)

输出:

如何使用Python中的Pandas按特定列合并两个csv文件?

右外联接

通过设置how=’right’,它将根据指定的列合并两个数据框,然后返回新的数据框,其中包含右数据框的所有记录,包括那些在左数据框中没有数值的记录,并将左数据框的列值设置为NAN。

如何使用Python中的Pandas按特定列合并两个csv文件?

代码:

import pandas as pd
  
# reading csv files
data1 = pd.read_csv('datasets/loan.csv')
data2 = pd.read_csv('datasets/borrower.csv')
  
# using merge function by setting how='right'
output3 = pd.merge(data1, data2,
                   on='LOAN_NO',
                   how='right')
  
# displaying result
print(output3)

输出:

如何使用Python中的Pandas按特定列合并两个csv文件?

完全外联

通过设置how=’right’,它将根据指定的列合并两个数据框,然后返回包含两个数据框中的行的新数据框,并为其中一个数据框中缺少数据的地方设置NAN值。

如何使用Python中的Pandas按特定列合并两个csv文件?

代码:

import pandas as pd
  
# reading csv files
data1 = pd.read_csv('datasets/loan.csv')
data2 = pd.read_csv('datasets/borrower.csv')
  
# using merge function by setting how='outer'
output4 = pd.merge(data1, data2, 
                   on='LOAN_NO', 
                   how='outer')
  
# displaying result
print(output4)

输出:

如何使用Python中的Pandas按特定列合并两个csv文件?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程