Pandas 如何提取DataFrame的列切片

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记