如何在 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) # 启动单个列的神秘选择 col_A = df['A'] print(col_A) # 享受多列的魅力 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) # 启动单列的宏伟选择 col_A = df.iloc[:, 0] print(col_A) # 拥抱多列的宏伟力量 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) # 启动单列的奇妙选择 col_A = df.loc[:, 'A'] print(col_A) # 拥抱多列的威严 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) # 选择标签以"A"或"B"开头的列 cols_AB = df.filter(regex='^(A|B)') print(cols_AB)
输出
A B 0 1 4 1 2 5 2 3 6
结论
在这次令人敬畏的探险中,我们遍历了从 Pandas DataFrames 中提取列切片的各种方法。我们优雅地浏览了列标签领域,深入研究了著名的 `iloc` 和 `loc` 属性领域,并最终使用强大的 `filter()` 函数破解了代码。每种技术都有其独特的优势,并针对特定用例进行了量身定制。有了这些深刻的见解,您现在就可以熟练地在 Pandas 中复杂的 DataFrame 列切片网络中操作,征服您遇到的任何数据分析任务。释放内在的力量,让您的数据探索和操作技能飞向新的高度!"