我有下面的数据框,上面有葡萄酒的种类,评价者和评分。我想制作一个新的DataFrame,将变量输出为列标签,并按审阅者和变量列出平均得分。简而言之,我想输出一个数据框,该数据框的顶部是顶部,而审阅者是具有审阅者和多样性的平均得分的索引。我已经尝试了好几种方法,但无法正常工作。

实际的信息,我将得到更多的评论者,更多的品种,但是我想提供一个简化的版本。

任何帮助,将不胜感激。先感谢您。

import pandas as pd
df = pd.DataFrame({"Variety": ['Cabernet', 'Pinot', 'Cabernet', 'Pinot', 'Pinot', 'Cabernet', 'Pinot', 'Cabernet'],
               "Reviewer": ['Bill', 'Sally', 'Bill', 'Sally', 'Bill', 'Sally', 'Bill', 'Sally'],
               "Score": [90, 85, 87, 93, 80, 81, 93, 88]})

最佳答案

更像是pivot问题

pd.pivot_table(df,index='Reviewer',columns='Variety',values='Score',aggfunc='mean')
Out[29]:
Variety    Cabernet      Pinot
Reviewer
Bill      87.000000  87.666667
Sally     84.666667  93.000000

10-02 07:43