微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Python中合并数据集:第一个数据集包含城市名称,第二个数据集包含两列不同的city_id列,以匹配起始城市和目标城市

如何解决在Python中合并数据集:第一个数据集包含城市名称,第二个数据集包含两列不同的city_id列,以匹配起始城市和目标城市

我需要一些帮助来理解在Python中合并2个数据集。

它们的布局如下,

  1. 首先有几列:city_id,city_name
  2. 第二个具有: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 举报,一经查实,本站将立刻删除。