tft每日頭條

 > 科技

 > 如何使用pandas處理數據

如何使用pandas處理數據

科技 更新时间:2024-11-23 12:18:06

可視化是數據科學中必不可少的部分。Python 流行的數據分析庫Pandas提供了 .plot() 方法進行數據可視化。即使新手階段也能很快就會創建基本圖,從而對數據産生有價值的見解。

整套學習自學教程中應用的數據都是《三國志》、《真·三國無雙》系列遊戲中的内容。

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)1

數據準備

import pandas as pd df = pd.read_excel("Romance of the Three Kingdoms 13/人物詳情數據.xlsx") df.head()

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)2

創建 Pandas 繪圖

.plot() 返回一個折線圖,其中包含 DataFrame 中每一行的數據。 x 軸值代表可視化的數據列。

import Matplotlib.pyplot as plt df.head(10).plot(x="名前", y=["生年","沒年","壽命"]) plt.show()

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)3

.plot() 有幾個可選參數。kind參數接受 11 個不同的字符串值并确定将創建哪種繪圖:

  1. "area"用于面積圖。
  2. "bar"用于垂直條形圖。
  3. "barh"用于水平條形圖。
  4. "box"用于箱形圖。
  5. "hexbin"用于六邊形圖。
  6. "hist"用于直方圖。
  7. "kde"用于核密度估計圖。
  8. "density"是"kde"的别名。
  9. "line"用于折線圖。
  10. "pie"用于餅圖。
  11. "scatter"用于散點圖。
深入了解 Matplotlib

當調用一個 DataFrame 的 .plot()對象時,Matplotlib 會在後台創建繪圖。

import matplotlib.pyplot as plt plt.scatter(df.head(10)["生年"], df.head(10)["壽命"]) <matplotlib.collections.PathCollection at 0x2caac179438>

繪制生年和壽命的關系散點圖。

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)4

數據的描述和檢查分布和直方圖

DataFrame 不是 pandas 中唯一具有 .plot() 方法的類,Series 對象提供了類似的功能。可以将 DataFrame 的每一列作為 Series 對象。

繪制一個武将性格的直方圖。

type(df["壽命"]) pandas.core.series.Series df["壽命"].plot(kind="hist") <matplotlib.axes._subplots.AxesSubplot at 0x2caac398240>

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)5

直方圖顯示數據分為 5 個區間,從 0 美元到 100 歲不等,每個區間的寬度為 20 歲。直方圖的形狀與正态分布不同,正态分布呈對稱的鐘形,中間有一個峰值。

異常值檢測

異常值,指的是樣本中的一些數值明顯偏離其餘數值的樣本點,所以也稱為離群點。異常值分析就是要将這些離群點找出來,然後進行分析。

可以使用直方圖可以檢測這樣的異常值。

檢測年齡異常的人。

top_5 = df.sort_values(by="Median", ascending=False).head(10)

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)6

看到遊戲設定中一些年齡異常的人,也可以使用箱線圖直接查看。

df["壽命"].head(10).plot(kind="box")

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)7

檢查相關性

通常想查看數據集的兩列是否關聯。

用『生年』和 『壽命』創建散點圖。

df.plot(x="生年", y="壽命", kind="scatter")

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)8

貌似看不出來啥規律。

雖然散點圖是獲得有關可能相關性的第一印象的極好工具,但它肯定不是聯系的明确證據。要了解不同列之間的相關性,可以使用.corr(). 如果懷疑兩個值之間存在相關性,那麼您可以使用多種工具來驗證您的預感并衡量相關性有多強。

但請記住,即使兩個值之間存在相關性,也不意味着其中一個值的變化會導緻另一個值的變化。換句話說,相關并不意味着因果關系。

分析分類數據

為了處理更大的信息塊,人類的大腦有意識地和無意識地對數據進行分類。這種技術通常很有用,但遠非完美無缺。有時我們将事物歸入一個類别,經過進一步檢查并不是那麼相似。因此需要了解一些用于檢查類别和驗證給定分類是否有意義的工具。

分組

類别的基本用法是分組和聚合,可以使用 .groupby()

cat_totals = df.groupby("性格")["性格"].count().sort_values() cat_totals 性格 ? 1 豬突 165 小心 178 豪膽 223 冷靜 290 Name: 性格, dtype: int64

繪制一個水平條形圖,顯示 cat_totals 中的所有類别總數。

cat_totals.plot(kind="barh", fontsize=4) <AxesSubplot:ylabel='Major_category'>

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)9

比率

想查看類别之間的差異,垂直和水平條形圖通常是一個不錯的選擇。如果對比率感興趣,那麼餅圖是一個很好的工具。

『分類』 的類别然後創建一個餅圖。

df.groupby("分類")["分類"].count() 分類 文官 336 武官 520 ? 1 Name: 分類, dtype: int64 df.groupby("分類")["分類"].count().plot(kind="pie", label="")

如何使用pandas處理數據(數據科學必備Pandas數據分析可視化常用舉例)10

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved