
python | 对excel文件进行可视化数据分析
这个代码的竞争力相比之下小很多,但是希望给读者在python的运用的一些其他方面带来思考,同时也可以更了解matplotlib库的使用方法。
利用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官方认证二维码 即可领取↓↓↓
更多推荐
所有评论(0)