使用AI工具完成好友性别数据分析与可视化项目教程

项目概述

本教程将指导你如何使用AI编程助手(豆包/腾讯元宝/深度思考)配合Python完成好友性别数据的分析与可视化项目。我们将从数据采集、处理到可视化展示,一步步完成这个数据分析项目。

工具准备

  1. 选择AI编程助手:豆包/腾讯元宝/深度思考(任选其一)
  2. 安装Python环境(推荐3.8+版本)
  3. 安装必要库:pip install itchat pandas matplotlib

项目实现步骤

步骤1:使用AI助手生成基础代码框架

向AI助手提问:

请用Python编写一个微信好友性别数据分析脚本,要求包含以下功能:
1. 使用itchat获取微信好友列表
2. 统计男女比例
3. 使用matplotlib生成可视化图表

AI助手可能会返回类似以下代码:

import itchat
import pandas as pd
import matplotlib.pyplot as plt

# 登录微信
itchat.auto_login(hotReload=True)

# 获取好友列表
friends = itchat.get_friends(update=True)

# 转换为DataFrame
df = pd.DataFrame(friends)

# 性别统计 (1-男, 2-女, 0-未知)
gender_counts = df['Sex'].value_counts()
gender_counts.index = ['未知', '男', '女']

# 可视化
plt.figure(figsize=(8, 6))
gender_counts.plot(kind='pie', autopct='%1.1f%%', colors=['gray', 'blue', 'pink'])
plt.title('微信好友性别比例分析')
plt.ylabel('')
plt.show()

步骤2:优化代码与功能扩展

向AI助手进一步提问:

请优化上面的代码,增加以下功能:
1. 添加数据保存功能(保存为CSV)
2. 增加柱状图展示
3. 添加省份分布分析

优化后的代码可能如下:

import itchat
import pandas as pd
import matplotlib.pyplot as plt

# 登录微信
itchat.auto_login(hotReload=True)

# 获取好友列表并处理
friends = itchat.get_friends(update=True)
df = pd.DataFrame([{
    'NickName': friend['NickName'],
    'Sex': '男' if friend['Sex'] == 1 else '女' if friend['Sex'] == 2 else '未知',
    'Province': friend['Province'],
    'City': friend['City'],
    'Signature': friend['Signature']
} for friend in friends])

# 保存数据
df.to_csv('wechat_friends.csv', index=False, encoding='utf-8-sig')

# 性别分析
plt.figure(figsize=(12, 5))

# 饼图
plt.subplot(1, 2, 1)
gender_counts = df['Sex'].value_counts()
gender_counts.plot(kind='pie', autopct='%1.1f%%', 
                  colors={'男':'blue', '女':'pink', '未知':'gray'})
plt.title('好友性别比例')

# 柱状图
plt.subplot(1, 2, 2)
gender_counts.plot(kind='bar', color=['blue', 'pink', 'gray'])
plt.title('好友性别数量')
plt.xlabel('性别')
plt.ylabel('人数')

plt.tight_layout()
plt.savefig('gender_analysis.png')
plt.show()

# 省份分析
province_counts = df[df['Province'] != '']['Province'].value_counts()[:10]
plt.figure(figsize=(10, 6))
province_counts.plot(kind='barh', color='teal')
plt.title('好友省份分布TOP10')
plt.xlabel('人数')
plt.tight_layout()
plt.savefig('province_distribution.png')
plt.show()

步骤3:使用AI解释代码

可以向AI提问:

请解释上面代码中以下几个关键部分:
1. itchat.get_friends()返回的数据结构
2. pandas的value_counts()方法作用
3. matplotlib的subplot用法

步骤4:处理实际问题

当遇到问题时,例如:

运行代码时出现错误:ModuleNotFoundError: No module named 'itchat'

AI会指导你:

这个错误说明缺少itchat库,请使用以下命令安装:
pip install itchat
如果安装失败,可以尝试:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple itchat

步骤5:进一步美化可视化效果

向AI提问:

如何让上面的图表更美观专业?请提供改进建议和代码

AI可能会建议:

# 在之前代码基础上添加以下美化设置
plt.style.use('ggplot')  # 使用ggplot风格

# 在绘制图表前添加以下代码
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 在绘制饼图时添加阴影和突出效果
gender_counts.plot(kind='pie', autopct='%1.1f%%', 
                  colors=['#66b3ff','#ff9999','#99ff99'],
                  explode=(0.05, 0.05, 0), 
                  shadow=True, startangle=90)

项目总结

通过本教程,你学会了:

  1. 如何使用AI助手快速生成数据分析代码框架
  2. 如何逐步完善和优化代码功能
  3. 如何解决实际运行中遇到的问题
  4. 如何美化数据可视化效果

使用AI编程助手的优势:

  • 快速生成基础代码,节省开发时间
  • 实时解答编程问题,提高学习效率
  • 提供多种解决方案,拓宽思路
  • 帮助理解复杂概念,降低学习门槛

你可以继续向AI助手提问,探索更多数据分析功能,如:

  • 好友签名情感分析
  • 地理位置热力图
  • 头像色彩分析等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值