Python读取CSV文件并进行数据可视化

 更新时间:2024年12月16日 16:21:59   作者:@_猿来如此  
这篇文章主要为大家详细介绍了Python如何读取CSV文件并进行数据可视化,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

一.引入pandas、matplotlib 三方库

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

二.读取CSV文件 

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

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 编码方式试一试 

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

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

三.数据的处理

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

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

# 按照指定列(这里第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') 

其中 x 和 y 参数分别指定条形图中每个条形的位置和高度,width:这是一个浮点数或数组,指定条形的宽度,alpha:这是一个介于 0 和 1 之间的浮点数,指定条形的透明度。alpha=0.5 表示条形是半透明的,color指颜色

自定义函数类型

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()

五.效果展示

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

到此这篇关于Python读取CSV文件并进行数据可视化的文章就介绍到这了,更多相关Python读取CSV内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中time、datetime模块的使用

    python中time、datetime模块的使用

    这篇文章主要介绍了python中time、datetime模块的使用,帮助大家更好的利用python处理时间,感兴趣的朋友可以了解下
    2020-12-12
  • Python实现动态柱状图的绘制

    Python实现动态柱状图的绘制

    这篇文章主要为大家详细介绍了Python实现动态柱状图的绘制的相关资料,文中的示例代码讲解详细,具有一定的学习与借鉴价值,需要的可以参考一下
    2022-12-12
  • python如何获取网络数据

    python如何获取网络数据

    这篇文章主要介绍了python如何获取网络数据,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • pandas将numpy数组写入到csv的实例

    pandas将numpy数组写入到csv的实例

    今天小编就为大家分享一篇pandas将numpy数组写入到csv的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python3 map函数和filter函数详解

    python3 map函数和filter函数详解

    这篇文章主要介绍了python3 map函数和filter函数详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python实现实现gltf预览图的示例详解

    Python实现实现gltf预览图的示例详解

    随着3D技术的不断发展,GLTF逐渐成为了Web和移动应用程序中最流行的3D文件格式之一,本文将介绍如何使用Python生成GLTF模型的预览图,需要的可以了解下
    2025-02-02
  • 人工智能学习Pytorch梯度下降优化示例详解

    人工智能学习Pytorch梯度下降优化示例详解

    这篇文章主要为大家介绍了人工智能学习Pytorch梯度下降优化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-11-11
  • 解决pytorch GPU 计算过程中出现内存耗尽的问题

    解决pytorch GPU 计算过程中出现内存耗尽的问题

    今天小编就为大家分享一篇解决pytorch GPU 计算过程中出现内存耗尽的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python实现读取.nc数据并提取指定时间与经纬度维度对应的变量数值

    Python实现读取.nc数据并提取指定时间与经纬度维度对应的变量数值

    这篇文章主要为大家详细介绍了如何使用Python语言的netCDF4库实现读取.nc格式的数据文件,并提取指定维(时间、经度与纬度)下的变量数据,需要的可以了解下
    2024-02-02
  • python并发编程多进程 模拟抢票实现过程

    python并发编程多进程 模拟抢票实现过程

    这篇文章主要介绍了python并发编程多进程 模拟抢票实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论