合并 Python 中的数据集:第一个数据集包含城市名称,第二个数据集包含 city_id 的两个不同列,用于匹配始发城市和目的地城市
Merging datasets in Python: 1st data set with city name and 2nd with two different columns for city_id for origin and destination cities to match with
我需要一些帮助来理解如何将 2 个数据集合并为一个 Python。
他们的布局如下,
- 首先有列:city_id、city_name
- 第二个有:起点city_id,纬度,经度,目的地city_id,纬度,经度
我想了解如何使用 python 或 pandas 合并这两个数据集以匹配第一个数据集中的 city_name 以创建两列进行匹配始发城市id和目的地城市id?
谢谢。
使用map.
Used for substituting each value in a Series with another value, that
may be derived from a function, a dict or a Series.
这里我们提供了我们城市查找数据框中的另一个系列。
>>> 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
我需要一些帮助来理解如何将 2 个数据集合并为一个 Python。
他们的布局如下,
- 首先有列:city_id、city_name
- 第二个有:起点city_id,纬度,经度,目的地city_id,纬度,经度
我想了解如何使用 python 或 pandas 合并这两个数据集以匹配第一个数据集中的 city_name 以创建两列进行匹配始发城市id和目的地城市id?
谢谢。
使用map.
Used for substituting each value in a Series with another value, that may be derived from a function, a dict or a Series.
这里我们提供了我们城市查找数据框中的另一个系列。
>>> 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