Python读取CSV文件进行数据可视化(源码)

--------------------------------📡🔍K学啦 更多学习资料📕 免费获取-----------------------------------


目录

[一.引入pandas、matplotlib 三方库](#一.引入pandas、matplotlib 三方库)

二.读取CSV文件

三.数据的处理

四.数据可视化

五.效果展示


一.引入pandas、matplotlib 三方库

使用 pip install pandas / pip install matplotlib 在终端Terminal下载

二.读取CSV文件

在读取文件之后,我们进行print语句输出,看一下数据是否完整

python 复制代码
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('某超市的销售数据.csv')
print(data)

报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 0: invalid start byte

意思是用特定的编码方式 UTF-8 解码字节数据时发生的错误 ,CSV文件的实际编码方式可能是用其他编码方式(如 GBK, GB2312, ISO-8859-1 等)编码的

我们在PyCharm打开该CSV文件发现是乱码的,是因为CSV文件在保存时使用的编码格式与打开时所用的编码格式不匹配导致的

那我们采取 gbk 编码方式试一试

python 复制代码
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('某超市的销售数据.csv', encoding='gbk')
print(data)

这次 4万余行,17列的数据 完整的输出了,我们就可以对它进行处理

三.数据的处理

我们通过浏览部分数据,发现有些类名是重复的,要进行重复数据合并

绘制柱状图只需要两列数据就可以,这里选取第三列名称和第十四列销售数量,以下代码进行数据聚合和数据提取然后用上述的读取csv文件代码并print输出,可以看到正确的数据

python 复制代码
# 按照指定列(这里第3列是要依据合并的列,可按需修改)对重复数据进行合并,求和第14列的值
merged_data = data.groupby(data.columns[2])[data.columns[13]].sum().reset_index()

# 将合并后的数据保存为新的CSV文件,名为new_data.csv,可按需更改
merged_data.to_csv('new_data.csv', index=False)

四.数据可视化

柱状图基本要素 plt.bar(x, y, width=0.5, alpha=0.5, color='pink') 其中 xy 参数分别指定条形图中每个条形的位置和高度,width :这是一个浮点数或数组,指定条形的宽度,alpha :这是一个介于 0 和 1 之间的浮点数,指定条形的透明度。alpha=0.5 表示条形是半透明的,color指颜色

自定义函数类型

python 复制代码
def draw_bar_chart():
    plt.bar(new_data.iloc[:, 0], new_data.iloc[:, 1])
#new_data.iloc[:, 0]:这部分代码使用 .iloc 方法从 new_data DataFrame 中选取所有行(: 表示所有行)的第一列(索引为 0 的列)。这些值将作为条形图的 x 轴坐标。
#new_data.iloc[:, 1]:这部分代码同样使用 .iloc 方法从 new_data DataFrame 中选取所有行的第二列(索引为 1 的列)。这些值将作为条形图的高度(即 y 轴的值)。
    plt.title('代做找我最靠谱')
    plt.rcParams['font.sans-serif'] = ['SimHei'] #指定字体
    plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号
    plt.xlabel(new_data.columns[0])#x轴标签
    plt.ylabel(new_data.columns[1])#y轴标签
    plt.show()

五.效果展示

这里只是列举了一个柱状图的例子,我相信看懂的小伙伴面对其他类型的如折线图,饼图,词云,雷达图等也能够学以致用,感谢你的关注!

相关推荐
zone77394 小时前
001:简单 RAG 入门
后端·python·面试
F_Quant4 小时前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
允许部分打工人先富起来5 小时前
在node项目中执行python脚本
前端·python·node.js
IVEN_5 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend6 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽6 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
IVEN_1 天前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮1 天前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling1 天前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python