Products
GG网络技术分享 2025-10-27 18:17 20
Pandas 是一个有力巨大且灵活的工具。本文将深厚入探讨怎么利用 Pandas 实现两个数据表的彻头彻尾连接操作,让你的数据处理干活更加高大效和准确。
先说说让我们来看一个轻巧松的例子。虚假设你有一个订单表和一个退货表,你需要根据客户的ID和订单日期来合并这两个表。下面是用 Pandas 的 merge 函数进行连接的示例代码:

import pandas as pd
orders = pd.DataFrame({
'order_id': ,
'customer_id': ,
'order_date': ,
'order_value':
})
returns = pd.DataFrame({
'return_id': ,
'customer_id': ,
'return_date': ,
'return_reason':
})
merged_data = pd.merge
print
输出后来啊如下:
order_id customer_id order_date order_value return_id return_date return_reason
0 2 B 2021-01-02 150 7 2021-01-06 Too big
1 3 C 2021-01-03 200 NaN NaN NaN
2 4 D 2021-01-04 250 8 2021-01-08 Wrong color
3 5 E 2021-01-05 300 6 2021-01-06 Defective
如你所见,订单表和退货表已经根据指定的列成功合并。
在 Pandas 中, 合并数据表有许多种连接方式,包括内连接、左连接、右连接和外连接。
内连接只保留两个表中都有匹配的行。
import pandas as pd
orders = pd.DataFrame({
'order_id': ,
'customer_id': ,
'order_date': ,
'order_value':
})
returns = pd.DataFrame({
'return_id': ,
'customer_id': ,
'return_date': ,
'return_reason':
})
merged_data = pd.merge
print
order_id customer_id order_date order_value return_id return_date return_reason
0 2 B 2021-01-02 150 7 2021-01-06 Too big
1 4 D 2021-01-04 250 8 2021-01-08 Wrong color
2 5 E 2021-01-05 300 6 2021-01-06 Defective
如你所见,只有那些个一边出眼下两个表中的订单和退货信息被保留。
左连接保留左表的全部行,即使在右表中没有匹配的行。
import pandas as pd
orders = pd.DataFrame({
'order_id': ,
'customer_id': ,
'order_date': ,
'order_value':
})
returns = pd.DataFrame({
'return_id': ,
'customer_id': ,
'return_date': ,
'return_reason':
})
merged_data = pd.merge
print
order_id customer_id order_date order_value return_id return_date return_reason
0 1 A 2021-01-01 100 NaN NaN NaN
1 2 B 2021-01-02 150 7 2021-01-06 Too big
2 3 C 2021-01-03 200 NaN NaN NaN
3 4 D 2021-01-04 250 8 2021-01-08 Wrong color
4 5 E 2021-01-05 300 6 2021-01-06 Defective
如你所见, 左表中的全部行都被保留,即使它们在右表中没有匹配的行。
import pandas as pd
orders = pd.DataFrame({
'order_id': ,
'customer_id': ,
'order_date': ,
'order_value':
})
returns = pd.DataFrame({
'return_id': ,
'customer_id': ,
'return_date': ,
'return_reason':
})
merged_data = pd.merge
print
order_id customer_id order_date order_value return_id return_date return_reason
0 1 A 2021-01-01 100 NaN NaN NaN
1 2 B 2021-01-02 150 7 2021-01-06 Too big
2 3 C 2021-01-03 200 NaN NaN NaN
3 4 D 2021-01-04 250 8 2021-01-08 Wrong color
4 5 E 2021-01-05 300 6 2021-01-06 Defective
5 NaN NaN NaN 6 2021-01-06 Defective
6 NaN NaN NaN 7 2021-01-07 Too big
7 NaN NaN NaN 8 2021-01-08 Wrong color
import pandas as pd
orders = pd.DataFrame({
'order_id': ,
'customer_id': ,
'order_date': ,
'order_value':
})
returns = pd.DataFrame({
'return_id': ,
'customer_id': ,
'return_date': ,
'return_reason':
})
merged_data = pd.merge
print
order_id customer_id order_date order_value return_id return_date return_reason
0 1 A 2021-01-01 100 NaN NaN NaN
1 2 B 2021-01-02 150 7 2021-01-06 Too big
2 3 C 2021-01-03 200 NaN NaN NaN
3 4 D 2021-01-04 250 8 2021-01-08 Wrong color
4 5 E 2021-01-05 300 6 2021-01-06 Defective
5 NaN NaN NaN 6 2021-01-06 Defective
6 NaN NaN NaN 7 2021-01-07 Too big
7 NaN NaN NaN 8 2021-01-08 Wrong color
如你所见, 外连接保留了两个表的全部行,即使它们在另一个表中没有匹配的行。
在有些情况下你兴许需要用优良几个列作为连接键。
import pandas as pd
orders = pd.DataFrame({
'order_id': ,
'customer_id': ,
'order_date': ,
'order_value':
})
returns = pd.DataFrame({
'return_id': ,
'customer_id': ,
'return_date': ,
'return_reason':
})
merged_data = pd.merge
print
order_id customer_id order_date order_value return_id return_date return_reason
0 2 B 2021-01-02 150 7 2021-01-06 Too big
1 4 D 2021-01-04 250 8 2021-01-08 Wrong color
2 5 E 2021-01-05 300 6 2021-01-06 Defective
如你所见,许多列连接能根据需要灵活用。
用 Pandas 连接数据表是一种有力巨大而灵活的数据处理手艺。通过用不同的连接方式,你能根据具体需求选择合适的合并策略。无论你是处理轻巧松还是麻烦的数据集,Pandas 都能为你给所需的工具。
在本文中, 我们探讨了怎么用 Pandas 实现两个数据表的彻头彻尾连接操作,包括内连接、左连接、右连接和外连接等。通过这些个连接方式,你能轻巧松地将不同的数据集合并成一个,以便进行更深厚入的数据琢磨和操作。
希望这篇文章能帮你更优良地搞懂 Pandas 的连接功能。如果你有随便哪个疑问或觉得能,请随时在评论区留言。欢迎用实际体验验证观点。
Demand feedback