如何使用 Python 中的 Pandas 按特定列合并两个 csv 文件?
原文:https://www.geesforgeks.org/如何按特定列合并两个 csv 文件-使用 python 熊猫/
在本文中,我们将讨论如何合并两个 CSV 文件熊猫库中有一个函数 pandas.merge() 。合并只意味着根据公共属性或列将两个数据集合并成一个数据集。
语法: pandas.merge()
参数:
- 数据 1、数据 2: 用于合并的数据帧。
- 如何: { '左','右','外','内' },默认'内'
- 开:标签或列表
返回: 两个合并对象的数据帧。
合并有 4 种类型。
- 内部的
- 左边的
- 对吧
- 外面的
我们将使用以下两个 csv 文件,即贷款. csv 和借款人. csv 来执行所有操作:
内部连接
通过设置 how=“内部”,它将根据指定的列合并两个数据帧,然后返回新的数据帧,该数据帧只包含在两个原始数据帧中具有匹配值的行。
代码:
蟒蛇 3
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)
输出:
左外连接
通过设置 how='left' ,它将基于指定的列合并两个数据帧,然后返回包含左数据帧中所有行的新数据帧,包括那些在右数据帧中也没有值的行,并将右数据帧列值设置为 NAN。
代码:
蟒蛇 3
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)
输出:
右外连接
通过设置 how='right ',它将根据指定的列合并两个数据帧,然后返回包含来自右侧数据帧的所有行的新数据帧,包括那些在左侧数据帧中没有值的行,并将左侧数据帧的列值设置为 NAN。
代码:
蟒蛇 3
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)