Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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 合并具有相同ID的记录_Python_Pandas - Fatal编程技术网

Python 合并具有相同ID的记录

Python 合并具有相同ID的记录,python,pandas,Python,Pandas,我有上面的数据框,它有相同的GameID,但主客场有两个不同的实例。我想将它们合并到一个记录中,以获得以下输出: League GameID Date Y G_Home G_Away isHome Team Differential Avg_Diff Ligue_1 6446 2017-08-05 17 4 0 1 Lyon 4 0.86087 Ligu

我有上面的数据框,它有相同的GameID,但主客场有两个不同的实例。我想将它们合并到一个记录中,以获得以下输出:

League   GameID  Date        Y   G_Home  G_Away   isHome  Team         Differential   Avg_Diff
Ligue_1  6446    2017-08-05  17  4       0        1       Lyon         4              0.86087
Ligue_1  6446    2017-08-05  17  4       0        0       Strasbourg   -4            -4.00000


我怎样才能在熊猫身上做到这一点呢?

假设每组只有
iHome
0,1,你可以对它们进行排序,使其成为(家,1,然后离开,0)。然后应用
groupby
aggregate
获得输出

df.sort_值(['isHome'],升序=False).groupby(['GameID']).agg(
联盟=(‘联盟’、‘第一’),
日期=('Date','first'),
Y=('Y','first'),
G_Home=('G_Home','first'),
G_Away=('G_Away','first'),
主队=('Team','first'),
AwayTeam=('Team','last'),
HomeDiff=('Avg_Diff','first'),
AwayDiff=('Avg_Diff','last'))
League   GameID  Date        Y   G_Home  G_Away   HomeTeam  AwayTeam    HomeAvgDiff  AwayAvgDiff           
Ligue_1  6446    2017-08-05  17  4       0        Lyon      Strasbourg  0.86087      -4.00000              

    
GameID  League  Date        Y   G_Home  G_Away  HomeTeam    AwayTeam    HomeDiff AwayDiff                               
6446    Ligue_1 2017-08-05  17  4       0       Lyon       Strasbourg   0.86087 -4.0