Python – 通过列名对数据框架进行子集
使用Pandas库,我们可以对一个DataFrame进行多种操作。我们甚至可以以多种格式创建和访问一个DataFrame的子集。这里的任务是按列名创建一个子集DataFrame。我们可以选择不同的方法来执行这个任务。下面提到的是可能的方法
在执行任何行动之前,我们需要写几行代码来导入必要的库并创建一个DataFrame。
创建DataFrame
#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
输出:
方法1:使用Python iloc()函数
这个函数允许我们通过从基于索引的列中选择特定值来创建一个子集。
语法:
df_name.iloc[beg_index:end_index+1,beg_index:end_index+1]
例子:创建一个包含姓名、性别和分支列的子集
# create a subset of all rows
# and Name, Gender and Branch column
df.iloc[:, 0:3]
输出 :
方法2:使用索引操作符
我们可以使用索引操作符,即方括号来创建一个子集数据框架
例子:创建一个带有Name、pre_1和pre_2列的子集。
# creating subset dataframe using
# indexing operator
df[['Name', 'pre_1', 'pre_2']]
输出 –
方法3:使用带有类似关键字的filter()方法。
我们可以使用这种方法,特别是当我们必须创建一个子集数据框架,其中的列具有类似的模式化名称。
例子:创建一个带有pre_1和pre_2列的子集
# create a subset of columns pre_1 and pre_2
# using filter() method
df.filter(like='pre')
输出: