📜  如何连接两个或多个 Pandas DataFrames?(1)

📅  最后修改于: 2023-12-03 15:09:16.779000             🧑  作者: Mango

如何连接两个或多个 Pandas DataFrames?

Pandas是一种流行的数据分析工具,因为它方便易用且功能强大。在数据分析中,我们常常需要连接不同的数据集,以得到更全面的洞察力。本文将介绍如何连接两个或多个Pandas DataFrames。

涉及函数

在连接不同的Pandas DataFrames时,我们通常会涉及到以下函数:

  • pd.concat()
  • pd.merge()
  • DataFrame.append()
使用pd.concat()连接DataFrame

pd.concat()是连接Pandas DataFrames最简单的方法之一。该函数允许您将Pandas DataFrames沿指定的轴连接在一起。下面是一个例子:

import pandas as pd

df1 = pd.DataFrame({'name': ['John', 'Jane'], 'age': [28, 23]})
df2 = pd.DataFrame({'name': ['Tom', 'Sarah'], 'age': [35, 29]})

result = pd.concat([df1, df2])

在上面的代码中,我们首先创建了两个Pandas DataFrames:df1和df2。我们在这里只是简单地将它们拼接在一起,因此没有指定连接的轴。因此,pd.concat()默认将它们沿着行轴连接在一起。最后,我们将结果存储在一个名为result的变量中。

使用pd.merge()连接DataFrame

pd.merge()是另一种连接Pandas DataFrames的函数。该函数允许您执行SQL样式的连接操作(如左连接、右连接、内连接和外连接)。下面是一个简单的例子:

import pandas as pd

df1 = pd.DataFrame({'name': ['John', 'Jane'], 'age': [28, 23]})
df2 = pd.DataFrame({'name': ['Tom', 'Sarah'], 'height': [175, 163]})

result = pd.merge(df1, df2, on='name')

在上面的代码中,我们创建了两个Pandas DataFrames:df1和df2。df1包含name和age两个列,df2包含name和height两个列。

我们使用pd.merge()函数将它们连接在一起。在这个例子中,我们使用on参数指定连接的列为name。结果是一个新的DataFrame,其中包含连接后的所有列。由于连接列中只有两个公共行(John和Jane),因此结果DataFrame中只有两行。

使用DataFrame.append()连接DataFrame

DataFrame.append()是另一个连接Pandas DataFrames的函数,它允许您垂直连接两个或多个DataFrame。下面是一个简单的例子:

import pandas as pd

df1 = pd.DataFrame({'name': ['John', 'Jane'], 'age': [28, 23]})
df2 = pd.DataFrame({'name': ['Tom', 'Sarah'], 'age': [35, 29]})

result = df1.append(df2)

在上面的代码中,我们将df2追加到df1末尾。请注意,append()函数是原地操作,因此我们将结果存储在df1中。结果是一个新的DataFrame,其中包含两个原始DataFrame中的所有行。

总结

在数据分析中,了解如何连接不同的Pandas DataFrames是必不可少的。在本文中,我们介绍了pd.concat()、pd.merge()和DataFrame.append()三个函数,这些函数是连接Pandas DataFrames的常见方法。希望这些信息对您有所帮助!