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 解碼字節(jié)數據時發(fā)生的錯誤 ,CSV文件的實際編碼方式可能是用其他編碼方式(如 GBK, GB2312, ISO-8859-1 等)編碼的
我們在PyCharm打開該CSV文件發(fā)現是亂碼的,是因為CSV文件在保存時使用的編碼格式與打開時所用的編碼格式不匹配導致的

那我們采取 gbk 編碼方式試一試
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('某超市的銷售數據.csv', encoding='gbk')
print(data)這次 4萬余行,17列的數據 完整的輸出了,我們就可以對它進行處理


三.數據的處理
我們通過瀏覽部分數據,發(fā)現有些類名是重復的,要進行重復數據合并

繪制柱狀圖只需要兩列數據就可以,這里選取第三列名稱和第十四列銷售數量,以下代碼進行數據聚合和數據提取然后用上述的讀取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內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
matplotlib交互式數據光標mpldatacursor的實現
這篇文章主要介紹了matplotlib交互式數據光標mpldatacursor的實現 ,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02

