日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

國外大神制作的超棒 Pandas 可視化教程

 liqualife 2020-04-21

作者:Jay Alammar    翻譯&潤色:極客猴

如果讀者們計劃學(xué)習(xí)數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、或者用 Python 做數(shù)據(jù)科學(xué)的研究,你會經(jīng)常接觸到 Pandas 庫。Pandas 是一個開源、能用于數(shù)據(jù)操作和分析的 Python 庫。

1. 加載數(shù)據(jù)

加載數(shù)據(jù)最方便、最簡單的辦法是我們能一次性把表格(CSV 文件或者 EXCEL 文件)導(dǎo)入。然后我們能用多種方式對它們進(jìn)行切片和裁剪。

Pandas 可以說是我們加載數(shù)據(jù)的完美選擇。Pandas 不僅允許我們加載電子表格,而且支持對加載內(nèi)容進(jìn)行預(yù)處理。

Pandas 有個核心類型叫 DataFrame。DataFrame 是表格型的數(shù)據(jù)結(jié)構(gòu)。因此,我們可以將其當(dāng)做表格。DataFrame 是以表格類似展示,而且還包含行標(biāo)簽、列標(biāo)簽。另外,每列可以是不同的值類型(數(shù)值、字符串、布爾型等)。

我們可以使用 read_csv() 來加載 CSV 文件。

# 加載音樂流媒體服務(wù)的 CSV 文件
df = pandas.read_csv('music.csv')

其中變量 DF 是 Pandas 的 DataFrame 類型。

Pandas 同樣支持操作 Excel 文件,使用 read_excel() 接口能從 EXCEL 文件中讀取數(shù)據(jù)。

2. 選擇數(shù)據(jù)

我們能使用列標(biāo)簽來選擇列數(shù)據(jù)。比如,我們想獲取 Artist 所在的整列數(shù)據(jù), 可以將 artists 當(dāng)做下標(biāo)來獲取。

同樣,我們可以使用行標(biāo)簽來獲取一列或者多列數(shù)據(jù)。表格中的下標(biāo)是數(shù)字,比如我們想獲取第 1、2 行數(shù)據(jù),可以使用 df[1:3] 來拿到數(shù)據(jù)。

Pandas 的利器之一是索引和數(shù)據(jù)選擇器。我們可以隨意搭配列標(biāo)簽和行標(biāo)簽來進(jìn)行切片,從而得到我們所需要的數(shù)據(jù)。比如,我們想得到第 1, 2, 3 行的 Artist 列數(shù)據(jù)。

import pandas as pd

df.loc[1:3, ['Artist']]
# loc(這里會包含兩個邊界的行號所在的值)

3. 過濾數(shù)據(jù)

過濾數(shù)據(jù)是最有趣的操作。我們可以通過使用特定行的值輕松篩選出行。比如我們想獲取音樂類型(Genre)為值為 Jazz 行。

再比如獲取超過 180萬聽眾的 藝術(shù)家。

4. 處理空值

數(shù)據(jù)集來源渠道不同,可能會出現(xiàn)空值的情況。我們需要數(shù)據(jù)集進(jìn)行預(yù)處理時。

如果想看下數(shù)據(jù)集有哪些值是空值,可以使用 isnull() 函數(shù)來判斷。

import pandas as pd

df = pd.read_csv('music.csv')
print(df.isnull())

假設(shè)我們之前的音樂數(shù)據(jù)集中 有空值(NaN)的行。

我們對之前的音樂.csv 文件進(jìn)行判斷,得到結(jié)果如下:

如果我想知道哪列存在空值,可以使用 df.isnull().any()

import pandas as pd

df = pd.read_csv('music.csv')
print(df.isnull().any())

結(jié)果如下:

處理空值,Pandas 庫提供很多方式。最簡單的辦法就是刪除空值的行。

除此之外,還可以使用取其他數(shù)值的平均值,使用出現(xiàn)頻率高的值進(jìn)行填充缺失值。

import pandas as pd

# 將值填充為 0
pd.fillna(0)

5. 分組

我們使用特定條件進(jìn)行分組并聚它們的數(shù)據(jù),也是很有意思的操作。比如,我們需要將數(shù)據(jù)集以音樂類型進(jìn)行分組,以便我們能更加方便、清晰了解每個音樂類型有多少聽眾和播放量。


上述代碼的的執(zhí)行過程是:Pandas 會將 Jazz 音樂類型的兩行數(shù)據(jù)聚合一組;我們調(diào)用了 sum() 函數(shù),Pandas  還會將這兩行數(shù)據(jù)端的 Listeners(聽眾)和 Plays (播放量) 相加在一起,然后組合在 Jazz 列中顯示總和。

這也是 Pandas 庫強(qiáng)大之處,能將多個操作進(jìn)行組合,然后顯示最終結(jié)果。


6. 從現(xiàn)有列中創(chuàng)建新列

通常在數(shù)據(jù)分析過程中,我們發(fā)現(xiàn)自己需要從現(xiàn)有列中創(chuàng)建新列,使用 Pandas 也是能輕而易舉搞定。


- end -

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多