如何在 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 列切片的复杂网络,征服你遇到的任何数据分析任务。释放内在的力量,让你的数据探索和处理技能攀登新的高度!