当前位置:首页>python>投诉量趋势怎么统计?用Python一步搞定,小白也能上手

投诉量趋势怎么统计?用Python一步搞定,小白也能上手

  • 2026-10-11 08:00:15
投诉量趋势怎么统计?用Python一步搞定,小白也能上手

做运营、数据分析的小伙伴,一定遇到过这样的需求:统计一段时间内的投诉量变化,看看哪天投诉最多、哪个时间段投诉集中,为优化服务找方向。

但面对一堆杂乱的投诉数据(每条投诉一条记录,日期五花八门),手动统计不仅耗时,还容易出错。今天就给大家科普一个简单高效的方法——用Python的pandas库,快速搞定投诉量趋势统计,不用复杂编程基础,跟着做就能上手!

先给大家说个核心结论:统计投诉量趋势,本质就是「把杂乱的日期标准化,再按天/周/月汇总计数」,全程就靠两个核心工具,看完你就懂了。

一、先搞懂2个核心工具,不用死记硬背

我们不用深究复杂的技术原理,就记住两个“神器”,知道它们各自做什么就够了,小白也能快速上手。

1. 神器1:pd.to_datetime()——给日期“统一格式”

我们拿到的投诉数据,日期格式可能乱七八糟:有的是「2024-01-15」,有的是「2024/01/15」,还有的带时间「2024-01-15 10:30」。

这些杂乱的日期,电脑识别不了,没法统计。而这个工具的作用,就是把所有日期“统一打扮”成电脑能看懂的格式(比如统一变成「2024-01-15」),相当于给所有日期办了一张“身份证”。

✨ 关键提醒:不用管复杂参数,默认使用就好,遇到识别不了的日期,它会自动标记,不会影响整体统计。

2. 神器2:resample()——按需求“汇总计数”

日期统一后,我们就可以按自己的需求,把投诉量汇总起来了:比如想知道「每天」的投诉量、「每周」的投诉量,甚至「每月」的投诉量,这个工具都能一键搞定。

它就像一个“分类整理箱”,你告诉它按什么标准分类(天/周/月),它就会自动把相同时间段的投诉归到一起,然后数清楚每个时间段有多少条投诉。

给大家整理了最常用的“分类标准”,记好这几个字母就够了:

1.「D」= 按天统计(最常用,比如看每天投诉波动)

2.「W」= 按周统计(适合看长期趋势,避免单日波动干扰)

3.「M」= 按月统计(适合月度复盘、汇报使用)

3. 完整流程:3步搞定投诉量趋势

不用记复杂步骤,跟着这个流程走,不管多少数据都能快速处理:

1.导入投诉数据(Excel、CSV都可以);

2.用「pd.to_datetime()」统一日期格式;

3.用「resample()」按天/周/月汇总,统计投诉数量。

是不是很简单?接下来给大家看一个完整的实操例子,跟着敲代码就能出结果。

二、实操演示:5分钟搞定每日投诉量统计

假设我们有一份投诉数据,包含「投诉日期」和「投诉内容」两列(实际工作中,不管多复杂的数据,核心就这两列就够了)。我们以“统计每日投诉量”为例,一步步演示。

第一步:准备工具和数据

先导入需要的工具(pandas负责处理数据,matplotlib负责画趋势图),然后导入我们的投诉数据。这里用简单的模拟数据举例,实际替换成自己的Excel/CSV文件即可。

python                  import pandas as pd                  import matplotlib.pyplot as plt                  # 模拟投诉数据(实际工作中替换成 pd.read_csv("你的文件路径.csv") 即可)                  data = {                  'date': ['2024-01-01', '2024-01-01', '2024-01-02', '2024-01-03',                   '2024-01-03', '2024-01-03', '2024-01-05', '2024-01-07'],                  'content': ['服务差', '延迟发货', '质量差', '服务差',                   '价格问题', '退换货', '物流慢', '客服态度']                  }                  df = pd.DataFrame(data)

第二步:统一日期格式

一行代码,就能把杂乱的日期统一成电脑能识别的格式:

python                  df['date'] = pd.to_datetime(df['date'])

第三步:按天汇总投诉量

把日期设为索引,然后用「resample('D')」按天统计,「size()」就是计数的意思,一行代码出结果:

python                  # 把日期设为索引(resample工具的要求)                  df.set_index('date', inplace=True)                  # 按天统计投诉量                  daily_complaints = df.resample('D').size()

第四步:查看结果+画趋势图

统计完成后,我们可以打印结果,也可以画一张折线图,直观看到投诉量的变化趋势:

python                  # 打印每日投诉量                  print("每日投诉量:")                  print(daily_complaints)                  # 绘制趋势图(自动补齐缺失日期,趋势更直观)                  plt.figure(figsize=(10, 4))                  plt.plot(daily_complaints.index, daily_complaints.values, marker='o', linestyle='-')                  plt.title('2024年1月每日投诉量趋势')                  plt.xlabel('日期')                  plt.ylabel('投诉数量')                  plt.grid(True)                  plt.xticks(rotation=45)                  plt.tight_layout()                  plt.show()

最终效果

打印出来的每日投诉量是这样的(自动补齐没有投诉的日期,标记为0,方便观察):

text                  每日投诉量:                  date                  2024-01-012                  2024-01-021                  2024-01-033                  2024-01-040                  2024-01-051                  2024-01-060                  2024-01-071                  Freq: D, dtype: int64

画出来的趋势图,能清晰看到1月3日投诉量最高(3条),1月4日、6日没有投诉,整体波动情况一目了然,汇报的时候直接用,非常方便。

三、进阶技巧:按周/月统计,应对不同需求

如果不想按天统计,想按周、按月汇总,只需要修改「resample()」里的字母即可,非常灵活:

python                  # 按周统计(周一为一周的开始)                  weekly_complaints = df.resample('W-MON').size()                  # 按月统计(适合月度复盘)                  monthly_complaints = df.resample('M').size()

四、小白避坑提醒

1.日期格式不用愁:不管原始日期是「2024-01-15」还是「2024/01/15」,「pd.to_datetime()」都能自动识别,不用手动调整;

2.缺失日期自动补:用「resample('D').size()」会自动补齐所有日期,没有投诉的日期标记为0,趋势图更连续;

3.大数据也能扛:哪怕有几万、几十万条投诉数据,这套方法也能快速处理,比手动统计快100倍。

五、总结

其实统计投诉量趋势,根本不用复杂的编程技巧,核心就是「统一日期格式+按时间汇总计数」。

记住「pd.to_datetime()」和「resample()」这两个神器,再记住「D=天、W=周、M=月」,不管是投诉量统计,还是用户访问量、销售额的时间趋势统计,都能一键搞定。

下次再遇到统计时间趋势的需求,直接套用今天的方法,轻松高效完成,还能做出专业的趋势图,汇报、复盘都有面儿~

如果觉得有用,记得收藏转发,给需要的小伙伴哦!

最新文章

随机文章