我有一个数据框,我使用了.groupby()和.agg()函数。
movieProperties = combined_df.groupby(['movieId', 'title', 'genres']).agg({'rating': ['count', 'mean']})
这是创建新数据框的代码。但是我似乎无法再以相同的方式访问列。如果尝试movieProperties['genres']
,我总是会收到KeyError。如何在这个新数据框中再次访问列?
答案 0 :(得分:0)
分组依据后,分组依据的列现在称为index
:
movieProperties = pd.DataFrame({"movie": ["x", "x", "y"], "title":["tx", "tx", "ty"], "rating": [3, 4, 3]}).groupby(["movie", "title"]).agg({"rating":["count", "mean"]})
movieProperties.index.values
Out[13]: array([('x', 'tx'), ('y', 'ty')], dtype=object)
如果您对此不满意,请将其重置为常规列:
movieProperties.reset_index()
Out[16]:
movie title rating
count mean
0 x tx 2 3.5
1 y ty 1 3.0
然后
movieProperties.reset_index()["movie"]
Out[17]:
0 x
1 y