如何在Pandas中获取DataFrame的列片

如何在Pandas中获取DataFrame的列片

在这篇文章中,我们将学习如何在Python中对一个DataFrame进行分栏。 DataFrame是一个二维的表格数据结构,有标记的axis,也就是列。

创建数据框架以切分列

# importing pandas
import pandas as pd
 
# Using DataFrame() method from pandas module
df1 = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6, 7],
                    "b": [2, 3, 4, 2, 3, 4, 5],
                    "c": [3, 4, 5, 2, 3, 4, 5],
                    "d": [4, 5, 6, 2, 3, 4, 5],
                    "e": [5, 6, 7, 2, 3, 4, 5]})
 
display(df1)

输出:

如何在Pandas中获取DataFrame的列片?

方法1:在pandas中使用reindex进行分栏

从’c’到’b’的切分列。

df2 = df1.reindex(columns = ['c','b'])
print(df2)

输出 :

如何在Pandas中获取DataFrame的列片?

方法2:在pandas 中使用loc[]切分列

df.loc[]存在于Pandas包中,loc可用于使用索引对Dataframe进行切片。Pandas DataFrame.loc属性通过标签或布尔数组访问指定DataFrame中的一组行和列。

语法: [ : , first : last : step]

示例 1:

用步骤2从’b’到’d’切开列。

df2 = df1.loc[:, "b":"d":2]
print(df2)

输出 :

如何在Pandas中获取DataFrame的列片?

示例 2:

用步骤1从’c’到’e’切开列。

df2 = df1.loc[:, "c":"e":1]
print(df2)

输出:

如何在Pandas中获取DataFrame的列片?

方法3:在pandas中使用iloc[]对列进行分片

iloc存在于Pandas包中。df.iloc[]方法用于数据帧的索引标签不是0、1、2、3….n的数字系列时,或者用户不知道索引标签的情况。可以使用一个在数据框中不可见的假想索引位置来提取行。

语法: [ start : stop : step]

示例 1:

用步骤1从’1’到’3’切开列。

df2 = df1.iloc[:, 1:3:1]
print(df2)

输出:

如何在Pandas中获取DataFrame的列片?

示例 2:

用步骤2从’0’到’3’切开列。

df2 = df1.iloc[:, 0:3:2]
print(df2)

输出:

如何在Pandas中获取DataFrame的列片?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程