Python小考2数据分析

1. 数据清洗和读取

功能说明:该函数主要用于读取存储微信聊天记录的 CSV 文件,同时对数据进行清洗。它会把 Time 列转换为日期时间格式,并且去除 Message 列中包含缺失值的行。此外,还添加了异常处理,当文件未找到或者出现其他错误时,会记录相应的错误信息。

2. 消息类型分析

功能说明:此函数用于统计每种消息类型的数量,然后通过 matplotlib 库绘制饼图来展示消息类型的分布情况。autopct='%1.1f%%' 用于在饼图上显示每种消息类型所占的百分比。

3. 每日消息数量趋势

功能说明:该函数会将 Time 列设置为索引,按天对消息数据进行重采样,统计每天的消息数量。接着使用 matplotlib 绘制折线图,以展示每日消息数量的变化趋势。

4. 词云生成

功能说明:此函数首先将所有聊天消息合并成一个字符串,然后使用 jieba 库对其进行中文分词。接着统计每个词语的出现频率,最后利用 WordCloud 类根据词频生成词云图。需要注意的是,为了正确显示中文,需要指定中文字体路径。

5. 聊天最多的一天

功能说明:该函数按天重采样数据,统计每天的消息数量,找出消息数量最多的一天。然后筛选出该天的聊天记录,并将其保存为 most_chat_day.csv 文件,同时记录相关信息到日志中。

6. 每小时消息统计

功能说明:此函数从 Time 列中提取小时信息,统计每小时的消息数量。然后使用 matplotlib 绘制柱状图,展示一天中不同小时的消息数量分布情况。

7. 主函数

功能说明:主函数借助 tkinter 库创建一个文件选择对话框,让用户选择存储微信聊天记录的 CSV 文件。如果用户选择了文件,就会依次调用前面定义的各个分析函数,完成数据分析和可视化操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值