首页 > 解决方案 > pandas 合并 2 个不同大小、列和频率的数据帧

问题描述

我一直在尝试合并 2 个不同大小和频率的 NFL 数据帧,但 2 个相同的 teiamname 和年份列,索引的第一个是团队名称和年份,并且是年份平均值,下一个按 tm 排序名称和年份,但分为每周比赛 1-17,所以我一直在尝试合并团队名称和年份,然后给出年度平均值,即 9 列,然后每周每周(1-17) 11 个不同的列。我已经在这里待了 2 周,我尝试了各种方式,多索引,......我可以遍历每个 datframe 并以正确的顺序附加到一个数组但是当我尝试将该列表设为 DF 时......不行,尝试了多索引 groupby ....

任何帮助将不胜感激谢谢

       Year  Tm_name    W     L   W_L_Pct   PD     MoV  SoS   SRS  OSRS  DSRS
1  2015     1     13.0   3.0   0.813   176.0  11.0  1.3  12.3   9.0   3.4
2  2016     1      7.0   8.0   0.469    56.0   3.5 -1.9   1.6   2.4  -0.8
3  2017     1      8.0   8.0   0.500   -66.0  -4.1  0.4  -3.7  -4.0   0.2
4  2018     1      3.0  13.0   0.188  -200.0 -12.5  1.0 -11.5  -9.6  -1.9
5  2015     2      8.0   8.0   0.500    -6.0  -0.4 -3.4  -3.8  -4.0   0.3
  Week  Year    Date     Tm_name  win_loss  home_away  Opp1_team  Tm_Pnts  \
0   1   2018 2018-09-09     1        0.0       1.0       32.0       6.0     
1   2   2018 2018-09-16     1        0.0       0.0       18.0       0.0     
2   3   2018 2018-09-23     1        0.0       1.0        6.0      14.0     
3   4   2018 2018-09-30     1        0.0       1.0       28.0      17.0     
4   5   2018 2018-10-07     1        1.0       0.0       29.0      28.0     

   Opp2_pnts  Off_1stD  Off_TotYd  Def_1stD_All  Def_TotYd_All  
0    24.0       14.0      213.0        30.0          429.0      
1    34.0        5.0      137.0        24.0          432.0      
2    16.0       13.0      221.0        21.0          316.0      
3    20.0       18.0      263.0        19.0          331.0      
4    18.0       10.0      220.0        33.0          447.0    

标签: arrayspython-3.xpandasdataframemerge

解决方案


如果两个数据框中有 2 列相同,为什么不使用 pandas.Dataframe.join 来连接两个表?这样,您将在同一行中获得团队名称和年份的所有数据。


推荐阅读