You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将旧版Pandas索引代码适配至Pandas 2.0.2?

替代Pandas count()中已弃用的level参数方案

Pandas 2.0及以上版本移除了count()方法的level参数,原代码的核心需求是按用户统计评论数并计算平均值、按影片统计评论数,可以用groupby直接分组计数来替代,逻辑更清晰且符合当前版本规范:

替代代码实现

# 计算用户平均评论数:按user_id分组,统计每个用户的评论数(每条记录对应一条评论)
IndUsers = MovieLens.groupby("user_id")["title"].count()
print("Average movie reviews per user: ", IndUsers.mean())

# 统计各影片的评论数:按title分组,统计每条影片的评论数
IndMovies = MovieLens.groupby("title")["movie_id"].count()
# 或者用更高效的size()(当无缺失值时结果一致):IndMovies = MovieLens.groupby("title").size()
print("\nNumber of Reviews Per Movie\n")
print(IndMovies)

逻辑说明

原代码中set_index([col1, col2]).count(level=target_col)的本质,就是按target_col分组后统计非缺失值的数量。直接使用groupby(target_col)[某列].count()完全等价,且不需要额外设置多级索引,代码更简洁高效。

如果需要保留多级索引的场景(原代码的第一行示例),也可以用groupby(level="rating")["user_id"].count(),前提是已经设置了多级索引,但对于你的需求来说,直接按列分组更直观。

内容的提问来源于stack exchange,提问作者Hawerchuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:32:51