根据另一个df的列值将行从一个pd.DataFrame复制到新的df

时间:2019-11-25 11:52:43

标签: python pandas dataframe

我有一个数据集( public_holidays ),其中包含城市列表以及有关这些城市的其他功能。

例如数据集1- public_holidays

public_holidays = pd.DataFrame(
[['1/01/2016','New Year\'s Day','Jacksonville'],
 ['1/01/2016','New Year\'s Day','San Francisco'],
 ['25/12/2018','Christmas Day','Toronto'], 
 ['26/12/2018','Boxing Day','Toronto']], 
 columns=['timestamp','Holiday','City'])

基于此数据集(public_holidays)中出现的城市,我想从 second 数据集( latlong )复制包含与数据集1相同城市的行( public_holidays )。

例如数据集2- latlong

latlong = pd.DataFrame(
[['Vancouver', 'Canada', 49.249660, -123.119339],
 ['Portland', 'United States', 45.523449, -122.676208],
 ['San Francisco', 'United States', 37.774929, -122.419418],
 ['Seattle', 'United States', 47.606209, -122.332069],
 ['Los Angeles', 'United States', 34.052231, -118.243683]],
 columns = ['City', 'Country', 'Latitude', 'Longitude'])

理想情况下,我会将匹配的行复制到新的df中。

我尝试使用df.loc()的一些变体并返回匹配值,但处理速度非常慢-我觉得可能是一个我看不到的简单解决方案?

必须提供任何帮助。

0 个答案:

没有答案