📜  基于列的数据帧的交集 - Python (1)

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

基于列的数据帧的交集 - Python

在数据分析中,经常需要对两个或多个数据集进行操作,比如取它们的交集。本文将介绍如何使用 Python 中的 pandas 模块来实现基于列的数据帧的交集操作。

1. 创建数据帧

首先,我们需要创建两个数据帧,用于演示交集操作。

import pandas as pd

df1 = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
})

df2 = pd.DataFrame({
    'A': [3, 4, 5, 6, 7],
    'B': [30, 40, 50, 60, 70],
})

以上代码创建了两个包含两列数据的数据帧 df1 和 df2。

2. 查看两个数据帧的内容

我们可以使用 pandas 中的 head() 方法来查看两个数据帧的前几行数据。

print(df1.head())

"""
   A   B
0  1  10
1  2  20
2  3  30
3  4  40
4  5  50
"""
print(df2.head())

"""
   A   B
0  3  30
1  4  40
2  5  50
3  6  60
4  7  70
"""
3. 执行基于列的数据帧交集操作

现在我们可以执行基于列的数据帧交集操作了。

result = pd.merge(df1, df2, on=['A', 'B'], how='inner')

以上代码使用了 pandas 中的 merge() 方法来执行交集操作,其中 on 参数指定要使用的列名,how 参数指定交集操作方式为 'inner',即取两个数据帧中列数据完全相同的行。

4. 查看结果

最后,我们可以使用 pandas 中的 head() 方法来查看交集结果。

print(result.head())

"""
   A   B
0  3  30
1  4  40
2  5  50
"""

以上代码输出了两个数据帧的交集结果。

到此为止,我们已经学会了如何使用 Python 中的 pandas 模块来执行基于列的数据帧交集操作。

参考资料