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

如何用Python Pandas统计CSV中指定月份各页面的不同用户点赞数

问题解答

现有代码的问题

你的现有代码不能正确统计目标数据,存在两个核心问题:

  • 用groupby(['page']).size()统计的是每个页面的总点赞记录数,不会对用户名去重,比如样例中usera给sample1点赞2次,该方法会统计为3条记录,而非正确的2个独立用户。
  • 无月份筛选逻辑,会统计所有日期的点赞数据,样例中sample2的6月点赞记录也会被计入统计。

实现方案

核心步骤

  1. 读取CSV后将date列转换为Pandas日期格式,方便时间维度筛选
  2. 过滤出指定月份的数据集
  3. 按页面分组后,对用户名字段做去重计数

完整可运行代码

import pandas as pd

# 读取CSV文件
df = pd.read_csv("sample.csv")
# 转换日期列格式
df['date'] = pd.to_datetime(df['date'])

# 筛选2021年5月的数据,如不需要限定年份可删除年份判断条件
target_month_df = df[(df['date'].dt.year == 2021) & (df['date'].dt.month == 5)]

# 按页面分组统计去重用户数
stat_result = target_month_df.groupby('page')['username'].nunique().reset_index(name='unique_user_count')
print(stat_result)

# 如需输出你给出的样例格式字符串,可添加以下遍历代码
for _, item in stat_result.iterrows():
    print(f"{item['page']} {item['unique_user_count']} users liked in 05 month")

运行结果说明

执行上述代码后,输出结果和你给出的预期完全一致:

page  unique_user_count
0  sample1                  2
1  sample2                  3
sample1 2 users liked in 05 month
sample2 3 users liked in 05 month

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:45:03