我已经将数据框按用户和月份两列进行分组,然后使用mean()来获取每个月“得分”值的平均值。我现在想做的是按用户遍历该组,并能够获取每个月的月份和平均得分,以便我可以使用matplotlib绘制它们。问题是,当我遍历该组时,我要为每个用户浏览一个月,而不是仅遍历第一个(用户)组。请让我知道这是怎么可能的,谢谢。
这是我到目前为止所拥有的:
user_group = past_year.groupby(['User','month'])['Score'].mean()
for group in user_group:
#I want to be able to access all months and mean scores for the current user here
答案 0 :(得分:0)
如果我了解您要正确执行的操作,则可以使用像这样的多层次索引-但这很麻烦:
import pandas as pd
df = pd.DataFrame({"User" : ["User1", "User1", "User1", "User1", "User1", "User1"], "Month" : ["Jan", "Jan", "Jan", "Feb", "Feb", "Feb"], "Score" : [5,10,30,30,30,40]})
users = df.User.unique()
months = df.Month.unique()
df =df.set_index(["User", "Month"])
for i in users:
for x in months:
print(df.loc[i].loc[x].Score.mean())
然后根据您要对最终结果执行的操作来更改打印语句。