使用熊猫合并合并3个数据框

时间:2020-11-12 16:32:55

标签: pandas dataframe

我在此列中有DF:

"d_id","time","bb_count","r-w_rate","reconsects_count","recovbydrv_count","xfer_rate","bb_diffs","fail"

我想按d_id分组,失败并按中位数,均值和var聚合所有df,并使用后缀将它们合并

对于第一次合并,它的工作效果很完美,但是当我尝试合并第三个数据框时,它的工作正确,但是我右边的df列的名称没有更改。

def merge_fun(df_left,df_right,stat_left,stat_right):
    output = df_left.merge(df_right, left_on=['d_id','fail'], right_on=['d_id','fail'],
    suffixes=(stat_left,stat_right))
    return output


output = merge_fun(ts_data.groupby(['d_id','fail']).mean(),ts_data.groupby(['d_id','fail']).median(),'_mean','_median')
output = merge_fun(output,ts_data.groupby(['d_id','fail']).var(),'_var','_var')
print(output)

我希望df的所有右栏将更改为'_var'后缀。

我得到的是:

             bb_count_mean  r-w_rate_mean  reconsects_count_mean  \
d_id  fail                                                         
1     True           75.05          11.30                   0.00   
2     True          102.35          18.80                   3.00   
3     True          153.30          20.00                   5.00   
4     True           96.05          20.00                  -2.00   
5     True          140.45           9.55                  29.05   
...                    ...            ...                    ...   
10196 False         110.00           8.55                  12.15   
10197 False         123.40          15.20                  53.55   
10198 False          52.95          11.15                  31.70   
10199 False          89.50           6.90                  50.25   
10200 False         137.60           9.75                  23.10   

             recovbydrv_count_mean  xfer_rate_mean  bb_diffs_mean  \
d_id  fail                                                          
1     True                   96.75           82.60           0.00   
2     True                  121.70           82.55           0.00   
3     True                  166.00           93.90           0.00   
4     True                  154.90          112.85           0.00   
5     True                  149.15           94.75           2.50   
...                            ...             ...            ...   
10196 False                 146.40           87.10           0.65   
10197 False                  58.55           82.50           4.80   
10198 False                 218.70           70.65           2.40   
10199 False                 151.80           62.40           4.10   
10200 False                 140.80           84.95           0.90   

             bb_count_median  r-w_rate_median  reconsects_count_median  \
d_id  fail                                                               
1     True              75.5             11.0                      0.0   
2     True              97.0             18.0                      3.0   
3     True             152.0             21.5                      5.0   
4     True              99.0             19.5                     -2.0   
5     True             146.0              9.5                     31.5   
...                      ...              ...                      ...   
10196 False            115.5              8.0                     13.5   
10197 False            127.0             15.5                     53.0   
10198 False             56.5             10.0                     32.0   
10199 False             88.0              7.5                     50.0   
10200 False            139.0             10.0                     23.5   

             recovbydrv_count_median  xfer_rate_median  bb_diffs_median  \
d_id  fail                                                                
1     True                      91.5              81.5              0.0   
2     True                     124.0              83.5              0.0   
3     True                     170.0              96.5              0.0   
4     True                     151.5             114.0              0.0   
5     True                     145.0              93.0              3.0   
...                              ...               ...              ...   
10196 False                    146.5              90.5              1.0   
10197 False                     63.5              82.0              5.0   
10198 False                    226.0              71.0              2.0   
10199 False                    153.5              62.5              4.0   
10200 False                    139.5              83.0              1.0   

                bb_count   r-w_rate  reconsects_count  recovbydrv_count  \
d_id  fail                                                                
1     True   2307.313158  13.694737          0.000000       3623.250000   
2     True   1794.976316  14.905263          0.000000       3033.168421   
3     True   3903.905263  29.368421          0.000000       5618.736842   
4     True   5173.839474   8.000000          0.000000      10027.042105   
5     True   3759.628947  14.155263        181.734211       4773.186842   
...                  ...        ...               ...               ...   
10196 False  3385.263158  15.944737         14.765789       6692.884211   
10197 False  3008.252632  25.536842        881.418421        302.681579   
10198 False   259.734211  10.765789        218.852632      11011.273684   
10199 False  1597.631579   9.568421        566.513158       5137.431579   
10200 False  1122.147368   7.355263         39.989474       2042.484211   

              xfer_rate  bb_diffs  
d_id  fail                         
1     True    63.515789  0.000000  
2     True    51.944737  0.000000  
3     True    72.094737  0.000000  
4     True   112.976316  0.000000  
5     True    83.671053  2.578947  
...                 ...       ...  
10196 False  107.357895  0.344737  
10197 False   69.631579  5.852632  
10198 False  113.186842  2.568421  
10199 False   46.252632  3.357895  
10200 False   60.681579  0.831579  

[10200 rows x 18 columns]

0 个答案:

没有答案