如何在 Pandas 中獲取 DataFrame 的列切片?
Pandas 是一個強大的 Python 庫,以其資料處理和分析能力而聞名,它提供了一系列工具來賦能資料科學家和分析師。在其主要資料結構中,DataFrame 佔據著重要的地位——一個二維帶標籤的資料結構,其列可能包含不同的資料型別。在探索 DataFrame 的廣闊領域時,經常需要提取特定的列或一系列列,這種技巧通常被稱為列切片。在本文中,我們將踏上探索 Pandas 中列切片各種方法的旅程。準備好透過以下技術進行探索,這些技術將徹底改變你的資料處理技能。
揭開列標籤的神奇之處
著名的 `iloc` 屬性:釋放索引的力量
`loc` 屬性:選擇性切片的入口
使用強大的 `filter()` 函式破解程式碼
示例 1:揭開列標籤的神奇之處
從 DataFrame 中選擇特定列的最簡單途徑是利用迷人的列標籤。你可以利用方括號 `[]` 的力量,使用列標籤來選擇單個列,或者優雅地傳遞列標籤列表來獲取多個列。
import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # Initiating the mystical selection of a single column col_A = df['A'] print(col_A) # Embracing the enchantment of multiple columns cols_AB = df[['A', 'B']] print(cols_AB)
輸出
0 1 1 2 2 3 Name: A, dtype: int64 A B 0 1 4 1 2 5 2 3 6
示例 2:著名的 'iloc' 屬性:釋放索引的力量
敬畏 `iloc` 屬性的宏偉,它是透過整數索引選擇列時不可或缺的力量。當你想遍歷一系列列或難以獲取列標籤時,它光芒四射。
import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # Initiating the magnificent selection of a single column col_A = df.iloc[:, 0] print(col_A) # Embracing the grandiose power of multiple columns cols_AB = df.iloc[:, 0:2] print(cols_AB)
輸出
0 1 1 2 2 3 Name: A, dtype: int64 A B 0 1 4 1 2 5 2 3 6
示例 3:'loc' 屬性:選擇性切片的入口
歡迎來到 `loc` 屬性的領域,這是一種根據標籤選擇列的優秀方法。與第一種方法產生共鳴,它允許你使用受人尊敬的冒號 `:` 運算子遍歷一系列列。
import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # Initiating the wondrous selection of a single column col_A = df.loc[:, 'A'] print(col_A) # Embracing the majesty of multiple columns cols_AB = df.loc[:, 'A':'B'] print(cols_AB)
輸出
0 1 1 2 2 3 Name: A, dtype: int64 A B 0 1 4 1 2 5 2 3 6
示例 4:使用強大的 'filter()' 函式破解程式碼
準備揭開 `filter()` 函式的秘密——一個非凡的工具,賦予你使用正則表示式選擇列的能力。當你想尋找在標籤中帶有特定模式的列時,它的真正力量就會顯現出來。
import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # Selecting columns blessed with labels commencing with 'A' or 'B' cols_AB = df.filter(regex='^(A|B)') print(cols_AB)
輸出
A B 0 1 4 1 2 5 2 3 6
結論
在這次令人驚歎的探索中,我們遍歷了各種方法,這些方法能夠從 Pandas DataFrame 中提取列切片。我們優雅地穿梭於列標籤的領域,深入到著名的 `iloc` 和 `loc` 屬性的領域,最後用強大的 `filter()` 函式破解了程式碼。每種技術都有其獨特的優勢,並針對特定用例量身定製。擁有這些深刻的見解,你現在有能力熟練地駕馭 Pandas 中 DataFrame 列切片的複雜網路,征服你遇到的任何資料分析任務。釋放內在的力量,讓你的資料探索和處理技能攀登新的高度!