如何解决在Python中合并数据集:第一个数据集包含城市名称,第二个数据集包含两列不同的city_id列,以匹配起始城市和目标城市
我需要一些帮助来理解在Python中合并2个数据集。
它们的布局如下,
- 首先有几列:city_id,city_name
- 第二个具有:origincity_id,lat,long,destinationcity_id,lat,long
我想了解如何使用python或pandas合并这两个数据集以匹配第一个数据集中的city_name来创建两列以匹配原始城市ID和目标城市ID?
谢谢。
解决方法
使用 map。
用于将系列中的每个值替换为另一个值,即 可能来自函数,字典或系列。
在这里,我们从城市查询数据框中提供了另一个系列。
>>> import pandas as pd
>>> lookup_df = pd.DataFrame([{"id":1,"city":"NY"},{"id":2,"city":"TX"}])
>>>
>>> lookup_df
city id
0 NY 1
1 TX 2
>>> data_df = pd.DataFrame([{"id1":2,"id2":1},{"id1":1,"id2":2}])
>>> data_df
id1 id2
0 2 1
1 1 2
>>> data_df["id1_city"] = data_df["id1"].map(lookup_df.set_index("id")["city"])
>>> data_df["id2_city"] = data_df["id2"].map(lookup_df.set_index("id")["city"])
>>>
>>> data_df
id1 id2 id1_city id2_city
0 2 1 TX NY
1 1 2 NY TX
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。