欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python讀取CSV文件并進(jìn)行數(shù)據(jù)可視化

 更新時(shí)間:2024年12月16日 16:21:59   作者:@_猿來如此  
這篇文章主要為大家詳細(xì)介紹了Python如何讀取CSV文件并進(jìn)行數(shù)據(jù)可視化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一.引入pandas、matplotlib 三方庫

 使用 pip install pandas / pip install matplotlib 在終端Terminal下載

二.讀取CSV文件 

 在讀取文件之后,我們進(jìn)行print語句輸出,看一下數(shù)據(jù)是否完整

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('某超市的銷售數(shù)據(jù).csv')
print(data)

報(bào)錯(cuò):UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 0: invalid start byte 

意思是用特定的編碼方式  UTF-8  解碼字節(jié)數(shù)據(jù)時(shí)發(fā)生的錯(cuò)誤 ,CSV文件的實(shí)際編碼方式可能是用其他編碼方式(如 GBK, GB2312, ISO-8859-1 等)編碼的

我們?cè)赑yCharm打開該CSV文件發(fā)現(xiàn)是亂碼的,是因?yàn)镃SV文件在保存時(shí)使用的編碼格式與打開時(shí)所用的編碼格式不匹配導(dǎo)致的

那我們采取 gbk 編碼方式試一試 

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('某超市的銷售數(shù)據(jù).csv', encoding='gbk')
print(data)

這次 4萬余行,17列的數(shù)據(jù) 完整的輸出了,我們就可以對(duì)它進(jìn)行處理

三.數(shù)據(jù)的處理

我們通過瀏覽部分?jǐn)?shù)據(jù),發(fā)現(xiàn)有些類名是重復(fù)的,要進(jìn)行重復(fù)數(shù)據(jù)合并

 繪制柱狀圖只需要兩列數(shù)據(jù)就可以,這里選取第三列名稱和第十四列銷售數(shù)量,以下代碼進(jìn)行數(shù)據(jù)聚合和數(shù)據(jù)提取然后用上述的讀取csv文件代碼并print輸出,可以看到正確的數(shù)據(jù)

# 按照指定列(這里第3列是要依據(jù)合并的列,可按需修改)對(duì)重復(fù)數(shù)據(jù)進(jìn)行合并,求和第14列的值
merged_data = data.groupby(data.columns[2])[data.columns[13]].sum().reset_index()
 
# 將合并后的數(shù)據(jù)保存為新的CSV文件,名為new_data.csv,可按需更改
merged_data.to_csv('new_data.csv', index=False)

四.數(shù)據(jù)可視化

柱狀圖基本要素 

plt.bar(x, y, width=0.5, alpha=0.5, color='pink') 

其中 x 和 y 參數(shù)分別指定條形圖中每個(gè)條形的位置和高度,width:這是一個(gè)浮點(diǎn)數(shù)或數(shù)組,指定條形的寬度,alpha:這是一個(gè)介于 0 和 1 之間的浮點(diǎn)數(shù),指定條形的透明度。alpha=0.5 表示條形是半透明的,color指顏色

自定義函數(shù)類型

def draw_bar_chart():
    plt.bar(new_data.iloc[:, 0], new_data.iloc[:, 1])
#new_data.iloc[:, 0]:這部分代碼使用 .iloc 方法從 new_data DataFrame 中選取所有行(: 表示所有行)的第一列(索引為 0 的列)。這些值將作為條形圖的 x 軸坐標(biāo)。
#new_data.iloc[:, 1]:這部分代碼同樣使用 .iloc 方法從 new_data DataFrame 中選取所有行的第二列(索引為 1 的列)。這些值將作為條形圖的高度(即 y 軸的值)。
    plt.title('代做找我最靠譜')
    plt.rcParams['font.sans-serif'] = ['SimHei'] #指定字體
    plt.rcParams['axes.unicode_minus'] = False  # 正常顯示負(fù)號(hào)
    plt.xlabel(new_data.columns[0])#x軸標(biāo)簽
    plt.ylabel(new_data.columns[1])#y軸標(biāo)簽
    plt.show()

五.效果展示

這里只是列舉了一個(gè)柱狀圖的例子,我相信看懂的小伙伴面對(duì)其他類型的如折線圖,餅圖,詞云,雷達(dá)圖等也能夠?qū)W以致用,感謝你的關(guān)注!

到此這篇關(guān)于Python讀取CSV文件并進(jìn)行數(shù)據(jù)可視化的文章就介紹到這了,更多相關(guān)Python讀取CSV內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論