我有下面的数据框,上面有葡萄酒的种类,评价者和评分。我想制作一个新的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