📜  df 选择自定义索引 - Python (1)

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

以df选择自定义索引 - Python

在pandas中,DataFrame是一个二维表格,其中包含多个行和多个列,我们可以根据自定义的索引对其进行选择和操作。

创建DataFrame

首先,我们需要创建一个DataFrame。以下是创建DataFrame的示例代码:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eric'],
        'age': [25, 30, 45, 19, 36],
        'country': ['USA', 'Canada', 'England', 'USA', 'Canada']}

df = pd.DataFrame(data)

通过运行以上代码,我们将创建一个名为df的DataFrame对象,其中包含名称、年龄和国家三列数据。

自定义索引

默认情况下,DataFrame对象的索引是从0到n-1的整数,其中n是行数。但是,我们可以使用set_index()方法将一列数据设为索引。

df.set_index('name', inplace=True)

以上代码将'name'列设置为索引,并将inplace参数设置为True,以便df对象立即更改。我们可以使用以下代码查看新的df对象:

print(df)

输出结果如下:

         age  country
name                
Alice     25      USA
Bob       30   Canada
Charlie   45  England
David     19      USA
Eric      36   Canada

现在,我们可以使用自定义的索引对DataFrame进行选择和操作。

选择单个元素

要选择单个元素,我们可以按照以下格式输入【行索引值】[列索引值]。

例如,要选择名称为'Bob'的个人的'age'值,我们可以使用以下代码:

print(df.loc['Bob']['age'])

输出结果为:

30
选择多个元素

要选择多个元素,我们可以使用切片。例如,要选择前两个人的所有列,请使用以下代码:

print(df.iloc[:2])

输出结果为:

       age country
name             
Alice   25     USA
Bob     30  Canada
条件过滤

我们也可以使用条件过滤来选择特定的行。例如,以下代码将选择所有来自加拿大的人:

print(df[df['country'] == 'Canada'])

输出结果为:

      age country
name            
Bob    30  Canada
Eric   36  Canada

以上就是使用DataFrame选择自定义索引的示例。通过自定义索引,我们可以更轻松地对DataFrame进行选择和操作,以满足我们的需求。