Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在日期最接近的一个键上合并两个表,在值位于任意两列的另一个键上合并两个表_Python_Pandas_Datetime_Merge_Python Datetime - Fatal编程技术网

Python 在日期最接近的一个键上合并两个表,在值位于任意两列的另一个键上合并两个表

Python 在日期最接近的一个键上合并两个表,在值位于任意两列的另一个键上合并两个表,python,pandas,datetime,merge,python-datetime,Python,Pandas,Datetime,Merge,Python Datetime,我有两个表df1,看起来像: | DATE | NAME | TEAM | | 2014-05-02| Mo Salah | Liverpool| |GameKey| Game_Date | Home_Team | Away_Team | |1 | 2014-08-03| Liverpool | Brighton | df2看起来像: | DATE | NAME | TEA

我有两个表df1,看起来像:

| DATE      | NAME           | TEAM     |

| 2014-05-02| Mo Salah       | Liverpool|
|GameKey| Game_Date | Home_Team      | Away_Team  |

|1      | 2014-08-03| Liverpool      | Brighton   |
df2看起来像:

| DATE      | NAME           | TEAM     |

| 2014-05-02| Mo Salah       | Liverpool|
|GameKey| Game_Date | Home_Team      | Away_Team  |

|1      | 2014-08-03| Liverpool      | Brighton   |

我如何合并它们,使df1.TEAM位于df2.Home_队或df2.Away_队之一,而df1.DATE为我提供了与df2.Game_队最接近的前向比赛日期。我熟悉merge\u asof,可以使用它在日期上进行正向匹配,但不完全确定如何将其与团队名称合并。

如果要进行合并,请确保具有相同的列名

将df2主队更改为主队

df2 = df2.rename(columns={"Home_Team": "TEAM"})
之后,在团队中将df1合并到df2

new_df = df1.merge(df2, on="TEAM", suffixes=('', '_DROP'), how='left')

请包括预期的输出,因为合并是在日期和团队名称上进行的,所以它应该是df1中名称列为df2的df2。这并不能回答问题。我正在尝试将df1['TEAM']与df2合并到“Home_TEAM”或“Visit_TEAM”中,虽然概念仍然相同。。。df1=df1.rename(columns={“TEAM”:“Home\u TEAM”})new_df=df2.merge(df1,on=“TEAM”,后缀=('','u DROP'),how='left')您不需要有相同的列名。您可以执行left_on和right_on并指定列名。我建议您阅读文档。