📅  最后修改于: 2023-12-03 15:08:23.340000             🧑  作者: Mango
在 Excel 中,vLookup 是一个非常实用的函数,可以通过在一个数据表中查找另一个表中的数据。在 Python 中,我们也可以通过使用 pandas 库中的 merge 函数来实现类似的功能。
在本文中,我们将使用以下两个数据表来演示如何使用 pandas 进行 vLookup:
Sale表
| Name | Item | Sale Price | |--------|------|------------| | Alice | A | 10 | | Bob | B | 20 | | Alice | C | 30 | | Carl | A | 40 | | Dave | C | 50 | | Ellie | B | 60 |
Cost表
| Item | Cost Price | |------|------------| | A | 5 | | B | 10 | | C | 15 | | D | 20 |
在这两个表中,Sale表包含了销售人员的销售情况,而Cost表包含了每个 Item 的成本价格。
首先,我们需要导入 pandas 库并读入上述两个表格:
import pandas as pd
# 读入Sale表
sale_df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Alice', 'Carl', 'Dave', 'Ellie'],
'Item': ['A', 'B', 'C', 'A', 'C', 'B'],
'Sale Price': [10, 20, 30, 40, 50, 60]})
# 读入Cost表
cost_df = pd.DataFrame({'Item': ['A', 'B', 'C', 'D'],
'Cost Price': [5, 10, 15, 20]})
接下来,我们可以通过 Sale表 和 Cost表 中共同的列 "Item" 进行合并,从而得到一个包含了 Sale表 和 Cost表 的所有信息的表格:
# 合并Sale表和Cost表
result_df = pd.merge(sale_df, cost_df, on=['Item'])
这样,我们就得到一个包含了 Sale表 和 Cost表 的所有信息的表格 result_df。下面是合并后的表结果:
| Name | Item | Sale Price | Cost Price | |--------|------|------------|------------| | Alice | A | 10 | 5 | | Bob | B | 20 | 10 | | Alice | C | 30 | 15 | | Carl | A | 40 | 5 | | Dave | C | 50 | 15 | | Ellie | B | 60 | 10 |
可以看到,在合并后的表中,每一行都包含了 Sale表 和 Cost表 中共同的列 "Item" 的信息。
通过上述步骤,我们成功地在 Python 中使用 pandas 完成了 vLookup 功能。通过合并两个数据表,我们得到了一个包含了所有信息的表格。
需要注意的是,在实际使用过程中,我们需要确保两个数据表中的列名和类型都是一致的,才能够进行合并操作。