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

當試圖理解 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

留下評論

如何在購買CRM系統之前,先用Excel建立一個簡單的銷售線索追蹤系統

如何在購買CRM系統之前,先用Excel建立一個簡單的銷售線索追蹤系統

在投資 CRM 軟體之前,先用 Excel 建立一個實用的潛在客戶追蹤器,其中包含表格、下拉清單、跟進日期、篩選器、條件格式和簡單的資料透視表儀表板。

簡易可列印的家庭托兒所出勤表:需要記錄哪些內容以及原因

簡易可列印的家庭托兒所出勤表:需要記錄哪些內容以及原因

使用這份簡單的可列印日托考勤表,可以追蹤家庭托兒服務的到達、離開、缺勤、簽名和所需記錄。

簡易庫存盤點表 Excel 範本:零售就緒型佈局,快速對帳

簡易庫存盤點表 Excel 範本:零售就緒型佈局,快速對帳

為零售商店建立一個簡單的 Excel 庫存盤點表,包含 SKU、位置、盤點數量、差異、重新盤點和可列印控制項。

適用於本地企業的單頁行銷策略範本(可列印)

適用於本地企業的單頁行銷策略範本(可列印)

使用此可列印的單頁行銷策略模板,選擇本地受眾、產品/服務、管道組合、預算、行動方案和可衡量的目標。

免費員工輪班表 Excel 模板,附自動工時計算器

免費員工輪班表 Excel 模板,附自動工時計算器

在 Excel 中建立免費員工輪班表,包括開始/結束時間、休息時間扣除、夜間處理、每週總計和簡單的工時計算器。

美國小型服務企業最佳免費發票應用程式(2026 年)

美國小型服務企業最佳免費發票應用程式(2026 年)

比較 2026 年美國服務企業最佳免費發票應用程序,包括 Zoho Invoice、Square、Wave、PayPal 和 Invoice Ninja。

適用於小型團隊的簡易雙週工資追蹤 Excel 範本:新手友善設定

適用於小型團隊的簡易雙週工資追蹤 Excel 範本:新手友善設定

為小型團隊在 Excel 中建立一個簡單的雙週工資追蹤表,包含清晰的表格、公式、檢查和實用的限額,以確保工資核對的安全性。

如何將 Salesforce 聯絡人匯出為乾淨的 Excel 格式

如何將 Salesforce 聯絡人匯出為乾淨的 Excel 格式

了解如何將 Salesforce 聯絡人匯出到乾淨的 Excel 檔案中,保留 ID 和文字字段,安全地刪除重複項,並避免常見的 CSV 錯誤。

適用於小型承包商的可列印Excel版建築工程估價模板

適用於小型承包商的可列印Excel版建築工程估價模板

使用 Excel 建立可列印的建築工程估算表,其中包含實用的成本類別、公式、標記欄位、列印設定和承包商可直接使用的清單。

Airbnb 房東專用可列印每週清潔排程範本(Word 與 PDF)

Airbnb 房東專用可列印每週清潔排程範本(Word 與 PDF)

使用此可列印的每週清潔排程來管理 Airbnb 房源,協助安排退房清潔、例行清潔、補貨、檢查,以及 Word 轉 PDF 的交接流程。