📜  使用 Pandas 索引和选择数据(1)

📅  最后修改于: 2023-12-03 15:36:32.839000             🧑  作者: Mango

使用 Pandas 索引和选择数据

Pandas 是一个功能强大的数据分析工具,提供了丰富的数据选择和索引功能。在本文中,我们将介绍如何使用 Pandas 中的索引和选择数据。

创建 Pandas 数据框

在开始讨论索引和选择数据之前,我们需要了解如何创建 Pandas 数据框。

Pandas 数据框是一个表格形式的数据结构,其中包含多个行和列,每个列可以具有不同的数据类型。可以使用以下代码创建一个 Pandas 数据框:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 23, 19, 36],
        'gender': ['F', 'M', 'M', 'M'],
        'city': ['New York', 'Paris', 'London', 'San Francisco']}

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

输出结果:

       name  age gender           city
0     Alice   25      F       New York
1       Bob   23      M          Paris
2   Charlie   19      M         London
3     David   36      M  San Francisco

此处,我们创建了一个包含四个列的数据框,其中每个列都包含四个元素。现在我们可以开始操作这个数据框。

索引和选择列

Pandas 数据框中的列可以像字典一样进行索引。可以使用列名作为索引来选择一列。例如,如果我们想选择 "name" 列,可以使用以下代码:

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

输出结果:

0       Alice
1         Bob
2     Charlie
3       David
Name: name, dtype: object

此处,我们选择了 "name" 列,并将其赋值给变量 names。输出结果显示了 "name" 列中的所有元素。

索引和选择行

在 Pandas 数据框中,我们可以使用行的索引或标签来选择一行或多行。可以使用以下代码选择第一行:

row = df.loc[0]
print(row)

输出结果:

name           Alice
age               25
gender             F
city        New York
Name: 0, dtype: object

此处,我们使用 .loc 属性选择第一行(索引为 0),并将其赋值给变量 row。输出结果显示了第一行中的所有元素。

如果我们想选择多行,可以使用以下代码:

rows = df.loc[[0, 2]]
print(rows)

输出结果:

      name  age gender      city
0    Alice   25      F  New York
2  Charlie   19      M    London

此处,我们使用 .loc 属性选择第一行和第三行,并将它们赋值给变量 rows。输出结果显示了这两行中的所有元素。

索引和选择元素

在 Pandas 数据框中,我们可以使用行和列的索引或标签来选择一个或多个元素。可以使用以下代码选择第一行第一列的元素:

element = df.loc[0, 'name']
print(element)

输出结果:

Alice

此处,我们使用 .loc 属性选择第一行第一列的元素,并将其赋值给变量 element。输出结果显示了这个元素的值。

如果我们想选择多个元素,可以使用以下代码:

elements = df.loc[[0, 2], ['name', 'age']]
print(elements)

输出结果:

      name  age
0    Alice   25
2  Charlie   19

此处,我们使用 .loc 属性选择第一行和第三行的 "name" 和 "age" 列,并将它们赋值给变量 elements。输出结果显示了这些元素的值。

过滤数据

在 Pandas 数据框中,我们可以使用布尔运算符(例如 >,< 或 ==)过滤数据。可以使用以下代码选择年龄大于 20 岁的人:

selected_data = df[df['age'] > 20]
print(selected_data)

输出结果:

     name  age gender           city
0   Alice   25      F       New York
1     Bob   23      M          Paris
3   David   36      M  San Francisco

此处,我们使用布尔运算符 > 过滤了年龄大于 20 岁的人,并将其赋值给变量 selected_data。输出结果显示了所有符合条件的数据。