如何使用Pandas连接具有相同列的数据集并选择一个

如何使用Pandas连接具有相同列的数据集并选择一个

在数据处理操作中,通常情况下,由于数据来自不同的来源,可能需要将两个数据集连接成一个。在这篇文章中,让我们讨论如何在Python中连接具有相同列的数据集。

使用 Pandas concat()

Python有一个叫pandas的包,它提供了一个叫concat的函数,帮助我们把两个数据集连接成一个。

语法:

pandas.concat(objs, axis=0, join=outer, ignore_index=False, keys=None)
Python

参数:

  • objs -系列或数据框架对象的序列
  • axis – 0 – index’, 1 – columns
  • join- 内部,默认 – 外部
  • ignore_index – bool,默认为False。如果是 “真”,则数据框架必须不包含一个索引。

示例:

在这里,我们将ignore_index设为False,这意味着concat函数将忽略各个数据集的原始索引,而创建一个新的索引。

import pandas as pd
  
# read the datasets
df1 = pd.read_csv(r"your_path/data_1.csv")
df2 = pd.read_csv(r"your_path/data_2.csv")
  
# print the datasets
print(df1.head())
print(df2.head())
concat_data = pd.concat([df1, df2], ignore_index=True)
print(concat_data)
Python

输出:

如何使用Pandas连接具有相同列的数据集并选择一个?

使用Pandas Merge()

Pandas提供了一个单一的函数,merge(),作为DataFrame对象之间所有标准数据库连接操作的入口。有四种基本的方法来处理连接(内、左、右和外),取决于哪些行必须保留它们的数据。

如何使用Pandas连接具有相同列的数据集并选择一个?

语法: pandas.merge(left, right, how)

参数:

  • left – dataframe (left reference)
  • right – dataframe (right reference)
  • how – {‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’}, default ‘inner’

示例:

与concat()函数类似的是merge()函数,我们可以将具有相同列的数据集连接起来。在merge函数中,我们可以传递数据集并使用外层连接模式来连接具有相同列的数据集,如图所示。

merge_data = pd.merge(df1, df2, how='outer')
print(merge_data)
Python

输出:

如何使用Pandas连接具有相同列的数据集并选择一个?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册