熊猫交叉表平均值

时间:2018-07-05 20:54:26

标签: python pandas numpy crosstab

我正在尝试对Pandas数据框执行交叉表查询。看起来像这样:

| Category | Score1 | Score2 | Score3 | Score4
| 1        | 2      | 3      | 5      | 12
| 1        | 3      | 4      | 2      | 5
| 2        | 1      | 6      | 8      | 6

我想创建一个交叉表查询,使我像这样,将类别作为列,将分数作为行:

Category| 1        | 2      | 3      |        
Score 1 |          |        |        |    
Score 2 |          |        |        |      
Score 3 |          |        |        |

空白处的值将是每个分数的每个类别的平均值。

现有数据文件是一个csv,可读取到Pandas DataFrame中。我看过pd.crosstab()函数,但似乎无法将其绑定到数据框。此外,它还有一个aggfunc的参数,我使用numpy设置了该参数aggfunc=np.average,但是我找不到value的参数。

我想念东西,还是应该为此使用熊猫?

1 个答案:

答案 0 :(得分:1)

可能存在使用pd.crosstab的解决方案,但是您也可以使用groupbymeanT(转置)执行所需的操作,例如:

df_output = df.groupby('Category').mean().T

您将得到:

Category    1    2
Score1    2.5  1.0
Score2    3.5  6.0
Score3    3.5  8.0
Score4    8.5  6.0