python | 对excel文件进行可视化数据分析

利用python对问卷星收集来的excel文件的单选题和多选题进行可视化数据分析

1.前言

问卷星本身就拥有强大的数据分析功能,这个代码的竞争力相比之下小很多,但是希望给读者在python的运用的一些其他方面带来思考,同时也可以更了解matplotlib库的使用方法。

优点:显示饼状图的标题,更加灵活地设置配色、文本内容和扇形到圆心的距离等、自动保存图片。

excel数据

图片

问卷星

在这里插入图片描述

此代码

2.具体讲解

# TODO:导包import pandas as pd  # 用于读取和分析数据import matplotlib.pyplot as plt  # 用于将数据可视化import random  # 用于生成随机数# TODO:主体部分df = pd.read_excel(r"C:\Users\汤艳君\Desktop\原神用户消费行为研究.xlsx")  # 读取文件plt.rcParams['font.sans-serif'] = ['SimHei']    # 设置字体plt.rcParams['axes.unicode_minus'] = False  # 确保符号正常显示text = input("请输入列名:")  # 选择要输入的列(第一行内容)top_cities = df[text].value_counts().head(40)   # 统计前(40)个文本值的出现频次labels = top_cities.index.tolist()sizes = top_cities.values.tolist()

参数说明

图片

# TODO:样式设置colors = ['#ff9999', '#66b3ff', 'red', "yellow", "green", "blue", "brown", "gray", "black", "gold", "purple", "orange",          "Red", "Orange", "Yellow", "Green", "Blue", "Purple", "Pink", "Turquoise", "Gray", "Brown", "Black", "White",          "Cyan", "Magenta", "Lavender", "Teal", "Indigo", "Maroon", "Gold", "Silver"]  # 设置颜色列表random_colors = random.sample(colors, len(labels))  # 随机颜色explode = [0.03] * len(labels)plt.pie(sizes, labels=labels, explode=explode, colors=random_colors, autopct='%3.2f%%', startangle=90,        labeldistance=1.1, radius=1, pctdistance=0.9)title = text.replace("?", "").replace("\\", "")  # 移除特殊字符plt.title(f"{title}\n")plt.axis('equal')# TODO:设置保存路径filename = title + ".png"filepath = r"C:\Users\汤艳君\Desktop\\" + filenameplt.savefig(filepath)plt.show()

**
**

3.多选题处理方式

通过replace函数对文本进行处理后重新粘贴回excel文档

# TODO:不打开文件替换字符x = """""C.    游戏角色建模优良,惹人喜爱┋D.    游戏剧情吸引人┋F.    嗑游戏中角色CP"G.   游戏热度高"A.    开发世界,好奇有趣┋B.   场景制作精美┋C.  游戏角色建模优良,惹人喜爱┋E.    角色人设吸引人""A.    开发世界,好奇有趣┋C.   游戏角色建模优良,惹人喜爱┋D.    游戏剧情吸引人┋E.    角色人设吸引人┋F.    嗑游戏中角色CP""""for i in x:    x = x.replace("┋", "\n")    x = x.replace('"', "")print(x)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fNZuhvLc-1690454126089)(https://mmbiz.qpic.cn/mmbiz_png/kN9aYHx7ZvPABd2qgGZxPXhf5dS73fW7HL3oq0fkmibYYjKrNMtibgQppOI8EpjZsFjibn3DalxruDWqBE9JicIEOw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)]

打印效果展示

4.整体效果展示
在这里插入图片描述
在这里插入图片描述

5.整体代码(不含多选题的处理)

# TODO:饼状图# TODO:导包import pandas as pd  # 用于读取和分析数据import matplotlib.pyplot as plt  # 用于将数据可视化import random  # 用于生成随机数# TODO:主体部分df = pd.read_excel(r"C:\Users\汤艳君\Desktop\导论.xlsx")  # 读取文件plt.rcParams['font.sans-serif'] = ['SimHei']    # 设置字体plt.rcParams['axes.unicode_minus'] = False  # 确保符号正常显示for i in range(10):    # 设置循环次数    text = input("请输入列名:")  # 选择要输入的列(第一行内容)    top_cities = df[text].value_counts().head(40)   # 统计前(40)个文本值的出现频次    labels = top_cities.index.tolist()    sizes = top_cities.values.tolist()    # TODO:样式设置    # TODO:参数说明    # plt.pie(x,explode,labels,colors,labeldistance,radius,autopct,……)    # 主要参数说明    # x:待绘图数据    # explode:饼图中每一块离圆心的距离    # labels:饼图中每一块的标签    # colors:饼图中每一块的颜色    # labeldistance:label标记的绘制位置,相对于半径的比例,默认值为1.1, 如<1则绘制在饼图内侧    # radius:饼图的半径    # autopct:设置圆内的文本    # shadow:是否有阴影    # startangle:起始角度,默认从0开始逆时针转    # pctdistance:设置圆内文本距圆心距离    colors = ['#ff9999', '#66b3ff', 'red', "yellow", "green", "blue", "brown", "gray", "black", "gold", "purple", "orange",              "Red", "Orange", "Yellow", "Green", "Blue", "Purple", "Pink", "Turquoise", "Gray", "Brown", "Black", "White",              "Cyan", "Magenta", "Lavender", "Teal", "Indigo", "Maroon", "Gold", "Silver"]  # 设置颜色列表    random_colors = random.sample(colors, len(labels))  # 随机颜色    explode = [0.03] * len(labels)    plt.pie(sizes, labels=labels, explode=explode, colors=random_colors, autopct='%3.2f%%', startangle=180,            labeldistance=1.1, radius=1, pctdistance=0.9)    title = text.replace("?", "").replace("\\", "")  # 移除特殊字符    plt.title(f"{title}\n")    plt.axis('equal')    # TODO:设置保存路径    filename = title + ".png"    filepath = r"C:\Users\汤艳君\Desktop\\" + filename    plt.savefig(filepath)    plt.show()

读者福利:如果大家对Python感兴趣,这套python学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

朋友们如果有需要全套Python入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~

👉CSDN大礼包:《python入门&进阶学习资源包》免费分享

Python学习大礼包

在这里插入图片描述

Python入门到精通背记手册

在这里插入图片描述

Python安装包

在这里插入图片描述

Python爬虫秘籍

在这里插入图片描述

Python数据分析全套资源

在这里插入图片描述

Python实现办公自动化全套教程

在这里插入图片描述

Python面试集锦和简历模板

在这里插入图片描述
在这里插入图片描述

Python副业兼职路线

在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓

CSDN大礼包:《python入门&进阶学习资源包》免费分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值