手把手教你如何用python进行数据分析!(附四个案例)_python数据分析案例

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]

根据评分标准差进行降序排序并读取前十行,也即输出评分标准差最大的十个电影标题。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值