175. 组合两个表
题目描述
Leetcode中简单题,具体描述如下,主要熟悉一下merge函数的使用。
编写解决方案,报告Person表中每个人的姓、名、城市和州。如果personId的地址不在Address表中,则报告为null。
以 任意顺序 返回结果表。
题目示例
结果格式如下所示。
思路
将两个表格合并为一个表格,以personId为主键。如果Address表中不存在对应的personId,则在对应位置上填充 null 。
方法
• 合并数据:pd.merge(person, address, on='personId', how='left'),根据personId将两个表格合并为一个表格;
• how方法总结:
A inner join B:取交集
A left join B:取A全部,B没有对应的值,则为null
A right join B:取B全部,A没有对应的值,则为null
A full outer join B:取并集,彼此没有对应的值为null
详解代码
import pandas as pd
def combine_two_tables(person: pd.DataFrame, address: pd.DataFrame) -> pd.DataFrame:
# 将 person 和 address 两个表格根据 personId 列合并,根据条件,how取left方法
combined_table = pd.merge(person, address, on='personId', how='left')
# 获取最终的结果表格,使用[[]]获取想要的列
return combined_table[['firstName', 'lastName', 'city', 'state']]
领取专属 10元无门槛券
私享最新 技术干货