使用索引操作符创建Python Pandas的子集DataFrame

使用索引操作符创建Python Pandas的子集DataFrame

Pandas是Python中最受欢迎的数据分析工具之一,它允许用户使用DataFrame和Series对象来处理和操纵各种数据类型。在使用Pandas时,有时需要创建子集DataFrame,以过滤、选择和操作数据。本文将介绍如何使用索引操作符创建Python Pandas的子集DataFrame。

更多Pandas相关文章,请阅读:Pandas 教程

创建DataFrame

在介绍如何使用索引操作符创建子集DataFrame之前,我们先来创建一个基本的DataFrame。

import pandas as pd

data = {'name': ['John', 'Tom', 'Jane', 'Mike'], 
        'age': [25, 30, 18, 22], 
        'gender': ['M', 'M', 'F', 'M']}

df = pd.DataFrame(data)
print(df)

运行上面的代码,我们将得到以下输出:

   name  age gender
0  John   25      M
1   Tom   30      M
2  Jane   18      F
3  Mike   22      M

这是一个由四个字典项构成的DataFrame对象,每个字典项包括’name’、’age’和’gender’三个列。现在我们已经有了一个DataFrame对象,可以开始创建它的子集。

使用单独一列创建子集DataFrame

在Pandas中,可以使用列名来选择单独一列。可以使用DataFrame对象的索引操作符([])来创建包含所需列的子集DataFrame。

subset1 = df['name']
print(subset1)

运行上面的代码,我们将得到以下输出:

0    John
1     Tom
2    Jane
3    Mike
Name: name, dtype: object

这将返回一个名为’name’的Series对象,其中包含原始DataFrame中’name’列中的所有值。

现在使用索引操作符来选择多个列:

subset2 = df[['name', 'age']]
print(subset2)

这将返回一个新的DataFrame对象,其中包含’name’和’age’列的所有值:

   name  age
0  John   25
1   Tom   30
2  Jane   18
3  Mike   22

使用行位置创建子集DataFrame

在Pandas中,可以使用行位置来选择单独一行。可以使用DataFrame对象的iloc[] 操作符来创建包含所需行的子集DataFrame。

例如,以下代码将返回第二行:

subset3 = df.iloc[1]
print(subset3)

这将返回一个名为df的Series对象,其中包含原始DataFrame中第二行的所有值。

name      Tom
age        30
gender      M
Name: 1, dtype: object

现在使用索引操作符来选择多个行:

subset4 = df.iloc[[1,3]]
print(subset4)

这将返回一个包含第二行和第四行的新的DataFrame对象:

   name  age gender
1   Tom   30      M
3  Mike   22      M

使用行和列位置创建子集DataFrame

在Pandas中,可以使用行和列位置来选择单独一行和列。可以使用DataFrame对象的iloc[] 操作符和索引操作符[] 来创建包含所需行和列的子集DataFrame。

例如,以下代码将返回第二行和第二列:

subset5 = df.iloc[1, 1]
print(subset5)

这将返回原始DataFrame中第二行和第二列中唯一的值:

30

现在使用索引操作符和iloc[] 操作符来选择多个行和列:

subset6 = df.iloc[[0, 2], [0, 2]]
print(subset6)

这将返回原始DataFrame中第一行和第三行,以及包含’name’和’gender’列的新的DataFrame对象:

   name gender
0  John      M
2  Jane      F

使用列条件筛选创建子集DataFrame

除了使用行和列的位置来创建子集DataFrame外,还可以使用条件筛选来创建子集DataFrame。可以使用DataFrame对象的索引操作符[]和比较运算符来创建包含符合指定条件的行和列的子集DataFrame。

例如,以下代码将返回年龄大于等于25岁的行:

subset7 = df[df['age'] >= 25]
print(subset7)

这将返回一个新的DataFrame对象,其中包含符合年龄大于等于25岁的所有行:

   name  age gender
0  John   25      M
1   Tom   30      M

现在使用多个条件来创建子集DataFrame:

subset8 = df[(df['age'] >= 20) & (df['gender'] == 'M')]
print(subset8)

这将返回一个新的DataFrame对象,其中包含符合年龄大于等于20岁并且性别为男性的所有行:

   name  age gender
0  John   25      M
1   Tom   30      M
3  Mike   22      M

结论

在本文中,我们介绍了如何使用索引操作符创建Python Pandas的子集DataFrame。我们了解了如何使用单独一列、多个列、单独一行、多个行、行和列位置以及条件筛选来创建子集DataFrame。知道如何创建子集DataFrame对于数据分析和处理非常重要,因为它使我们能够更轻松地过滤、选择和操作数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 教程