如何按一列或多列對數據框進行子集化?

當試圖理解 Pandas 中的大型 DataFrame 時,您可能需要按列和行對其進行子集化。在本教程中,我們將展示對 DataFrame 進行列分區的最常見用例。

我們將從設置示例 DataFrame 開始,我們將通過在我們最喜歡的環境中運行以下 Python 代碼來完成此操作(為簡單起見,我使用 Anaconda 和 Jupyter Lab)。

import pandas as pd # import the pandas library

languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
         "avg_difficulty_level": [3, 2, 2, 1],
              "avg_salary": [120, 100, 120, 80],
          "applications": [10,15,14,20]})

# Now let's convert our dict to a DataFrame

languages = pd.DataFrame.from_dict(languages)

現在,讓我們使用 head() 方法查看 Dataframe 的第一行。

languages.head()

如您所見,這是一個非常簡單的 DataFrame,我們將在本文中用作示例:

  avg_difficulty_level avg_salary 應用
0 Python 3 120 10
1 C-夏普 2 100 15
2 Javascript 2 120 14
3 PHP 1 80 20

過濾單個列

我們將從最簡單的情況開始,即從數據集中提取一列。運行以下命令將創建一個 Series 對象:

按名稱/標籤

languages["language"]

輸出是一個系列:

0 蟒蛇
1 C-夏普
2 Javascript
3 PHP
名稱:語言,數據類型:對象
type(languages["language"])

pandas.core.series.Series

按索引

以下命令還將返回包含第一列的 Series

languages.iloc[:,0]

選擇多個列

按名字

當傳遞一個列列表時,Pandas 將返回一個包含部分數據的 DataFrame。

languages[["language", "applications"]]
  應用
0 Python 10
1 C-夏普 15
2 Javascript 14
3 PHP 20

按標籤(帶 loc)

df.loc[:,["language","applications"]]

結果將是相似的。

按索引

現在讓我們使用索引檢索多個列:

languages.iloc[: ,[0,3]]
  應用
0 Python 10
1 C-夏普 15
2 Javascript 14
3 PHP 20

按條件

在這種情況下,我們將只顯示名稱與特定表達式匹配的列。我們將使用非常方便的過濾器方法:

languages.filter(axis = 1, like="avg")

筆記:

  1. 我們還可以通過特定的正則表達式(regex)進行過濾。
  2. 我們可以應用參數 axis=0 來按特定的行值進行過濾。

按條件過濾特定行

這是根據行值對 DataFrame 進行子集化的一種非常簡單的方法:

languages[(languages["applications"] > 15)]

我們只有一個結果:

languages[(languages["applications"] > 15)]
  avg_difficulty_level avg_salary 應用
3 PHP 1 80 20

Leave a Comment

[已更新] 如何修復 Windows 10 更新錯誤 0x80244022

[已更新] 如何修復 Windows 10 更新錯誤 0x80244022

為了解決 Windows 10 更新錯誤 0x80244022,請參考有效的解決方案,例如運行疑難解答、檢查網絡設定等。

如何在 Discord 上播放 Disney+

如何在 Discord 上播放 Disney+

唯一比觀看 Disney+ 更好的是和朋友一起觀看。通過本指南了解如何在 Discord 上流式傳輸 Disney+。

已修復:Hamachi 無法在 Windows 10 和 11 上獲取適配器配置

已修復:Hamachi 無法在 Windows 10 和 11 上獲取適配器配置

閱讀完整指南以了解如何解決 Windows 10 和 11 上的 Hamachi 無法獲取適配器配置錯誤,解決方案包括更新驅動程序、防火牆設置等

修復 REGISTRY_ERROR 藍屏錯誤 (0x00000051) 的 7 個工作解決方案

修復 REGISTRY_ERROR 藍屏錯誤 (0x00000051) 的 7 個工作解決方案

了解修復 REGISTRY_ERROR 藍屏錯誤 (0x00000051) 的有效方法,解決 Windows 系統中遇到的註冊表錯誤。

如何在 Roku 上更改音量

如何在 Roku 上更改音量

在 Roku 上調整聲音比使用遙控器向上或向下移動更多。以下是如何在 Roku 上更改音量的完整指南。

如何修復 Roblox 錯誤代碼 267 [7 簡單修復]

如何修復 Roblox 錯誤代碼 267 [7 簡單修復]

在 Roblox 中被禁止或踢出遊戲的錯誤代碼 267,按照以下簡單解決方案輕鬆解決...

[已解決] 如何解決 Rust 不斷崩潰的問題?

[已解決] 如何解決 Rust 不斷崩潰的問題?

面對 Rust 在啟動或加載時不斷崩潰,然後按照給出的修復並輕鬆停止 Rust 崩潰問題...

[已修復] 驅動程序 WudfRd 在 Windows 10 中無法加載錯誤 219

[已修復] 驅動程序 WudfRd 在 Windows 10 中無法加載錯誤 219

如果在 Windows 10 中遇到 Driver WudfRd failed to load 錯誤,事件 ID 為 219,請遵循此處給出的修復並有效解決錯誤 219。

如何修復“未知軟件異常(0xe0434352)”?

如何修復“未知軟件異常(0xe0434352)”?

發現修復此處給出的 Windows 10 和 11 上的未知軟件異常 (0xe0434352) 錯誤的可能解決方案

[已解決] Grand Theft Auto V 中的“Script Hook V 嚴重錯誤”

[已解決] Grand Theft Auto V 中的“Script Hook V 嚴重錯誤”

想知道如何修復 GTA 5 中的腳本掛鉤 V 嚴重錯誤,然後按照更新腳本掛鉤應用程序等修復,重新安裝 GTA 5 和其他