📜  Python - 按列名对数据帧进行子集

📅  最后修改于: 2022-05-13 01:54:30.878000             🧑  作者: Mango

Python - 按列名对数据帧进行子集

使用 Pandas 库,我们可以对一个 DataFrame 执行多项操作。我们甚至可以以多种格式创建和访问 DataFrame 的子集。这里的任务是按列名创建一个子集 DataFrame。我们可以选择不同的方法来执行此任务。以下是下面提到的可能方法 -

在执行任何操作之前,我们需要编写几行代码来导入必要的库并创建一个 DataFrame。

创建数据帧

Python3
#import pandas
import pandas as pd
  
# create dataframe
data = {'Name': ['John', 'Emily', 'Lara', 'Lucas', 'Katy', 'Jordan'], 
        'Gender': [30, 27, 21, 21, 16, 20], 
        'Branch': ['Arts', 'Arts', 'Commerce', 'Science', 
                   'Science', 'Science'],
        'pre_1': [9, 9, 10, 7, 6, 9],
        'pre_2': [8, 7, 10, 6, 8, 8]}
  
df = pd.DataFrame(data)
df


Python3
# create a subset of all rows
# and Name, Gender and Branch column
df.iloc[:, 0:3]


Python3
# creating subset dataframe using 
# indexing operator
df[['Name', 'pre_1', 'pre_2']]


Python3
# create a subset of columns pre_1 and pre_2
# using filter() method
df.filter(like='pre')


输出:



方法一:使用Python iloc()函数

此函数允许我们通过基于索引从列中选择特定值来创建子集。

句法:

df_name.iloc[beg_index:end_index+1,beg_index:end_index+1]

示例:创建一个包含 Name、Gender 和 Branch 列的子集

蟒蛇3

# create a subset of all rows
# and Name, Gender and Branch column
df.iloc[:, 0:3]

输出 :



方法 2:使用索引运算符

我们可以使用索引运算符即方括号来创建子集数据帧

示例:创建一个包含 Name、pre_1 和 pre_2 列的子集

蟒蛇3

# creating subset dataframe using 
# indexing operator
df[['Name', 'pre_1', 'pre_2']]

输出 -

方法 3:使用带有 like 关键字的 filter() 方法

我们可以使用这种方法,特别是当我们必须创建一个具有类似模式名称的列的子集数据框时。

示例:使用 pre_1 和 pre_2 列创建子集

蟒蛇3

# create a subset of columns pre_1 and pre_2
# using filter() method
df.filter(like='pre')

输出: