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’属性:选择性切片的入口
欢迎来到’realm’领域,’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 DataFrames中提取列片段成为可能。我们优雅地航行在列标签的领域中,深入探索了杰出的iloc
和loc
属性的领域,最后使用强大的filter()
函数成功解密。每种技术都拥有它独特的优势,并且针对特定的用例进行了定制。拥有这些深入的见解,您现在可以熟练地操纵Pandas中DataFrame列片段的复杂网络,征服任何数据分析任务。释放内在的力量,让您的数据探索和处理技能飞向新的高度!