赞
踩
data = pd.merge(pd.merge(ratings, users), movies)
data
data.iloc[0]
使用merge函数将ratings,users和movies进行合并,保留了三个DataFrame中所有的数据,并将他们之间重复的数据和行进行合并。合并生成名为data的新DataFrame,并输出整个数据以及读取第一行数据。
mean_ratings = data.pivot_table("rating", index="title",
columns="gender", aggfunc="mean")
mean_ratings.head(5)
使用pivot_table函数实现数据透视表功能,对rating中title列求均值,columns参数就是用来显示字符型数据的,显示性别数据。求均值生成名为mean_ratings的新DataFrame,并读取输出前五行数据。
ratings_by_title = data.groupby("title").size()
ratings_by_title.head()
active_titles = ratings_by_title.index[ratings_by_title >= 250]
active_titles
使用groupby函数对data这一DataFrame按照电影名称title分组,并计算每个电影标题对应的评分数量。第二行代码显示每个电影标题对应的评分数量。第三四行代码统计对应评分数量大于250的电影标题将其定义为active_titles并输出。
mean_ratings = mean_ratings.loc[active_titles]
mean_ratings
读取mean_ratings中评分数量大于250的电影标题对应的数据并输出。
mean_ratings = mean_ratings.rename(index={"Seven Samurai (The Magnificent Seven) (Shichinin no samurai) (1954)":
"Seven Samurai (Shichinin no samurai) (1954)"})
使用rename函数将mean_ratings中Seven Samurai (The Magnificent Seven) (Shichinin no samurai) (1954)重新更改为Seven Samurai (Shichinin no samurai) (1954)。
top_female_ratings = mean_ratings.sort_values("F", ascending=False)
top_female_ratings.head()
根据女性的评分使用排序函数对mean_ratings进行降序排序并输出。
mean_ratings["diff"] = mean_ratings["M"] - mean_ratings["F"]
用mean_ratings中男性评分减去女性评分计算出男女评分差异diff。
sorted_by_diff = mean_ratings.sort_values("diff")
sorted_by_diff.head()
根据diff列的值使用排序函数对mean_ratings进行升序排序并输出。
sorted_by_diff[::-1].head()
使用切片操作对diff进行逆序排序,并输出。
rating_std_by_title = data.groupby("title")["rating"].std()
rating_std_by_title = rating_std_by_title.loc[active_titles]
rating_std_by_title.head()
std函数用于表示标准差。对电影标题title根据评分标准差分组。并读取活跃标题(评分数量大于250的电影标题)的标准差输出。
rating_std_by_title.sort_values(ascending=False)[:10]
根据评分标准差进行降序排序并读取前十行,也即输出评分标准差最大的十个电影标题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。