一.引入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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论