matplotlib可视化时坐标轴顺序出bug(读取的csv的数据)

项目场景:

plt可视化后数轴紊乱和pandas读取csv出现的问题


问题描述

在pandas读取了csv文件的数据后,用matplotlib.plot(plt)将数据点可视化时,出来的y轴数字紊乱了matplotlib可视化时坐标轴顺序出bug(读取的csv的数据)_第1张图片



原因分析:

用pandas读取csv文件的时候,csv里面的数字到了python里面就变成了字符串string格式,所以如果要得到正确的可视化结果,就要将读取出来的字符串格式数据转换为整形int或浮点数float格式。但是单纯在read_csv最后面加上dtype{‘name’:int}会显示出错

df = pd.read_csv(r"file_name", names=['date', 'Q', 'days', 'difi'],
                dtype={'difi':int})

>  TypeError: Cannot cast array data from dtype('O') to dtype('int32') 
>             according to the rule 'safe'***

就是说不能这样转格式

解决方案:

我于是找遍了资料,其实只需要在后面加条代码就行

df = pd.read_csv(r"file_name", 
                names=['date', 'Q', 'days', 'difi'])
df['name'] = pd.to_numeric(df['difi'], errors='coerce')

这个是将字符串转为数字形式(好像是浮点数格式),这样一来就解决了数轴紊乱的问题了,亲测有效
matplotlib可视化时坐标轴顺序出bug(读取的csv的数据)_第2张图片

你可能感兴趣的