Pandas中的双括号]和单括号’索引的区别

Pandas中的双括号]和单括号'索引的区别

在本文中,我们将探讨Pandas中使用双括号]和单括号'索引的区别。让我们从数据框架的创建开始。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
        'age': [25, 30, 35, 40, 45],
        'gender': ['F', 'M', 'M', 'M', 'F']}

df = pd.DataFrame(data)

我们得到了以下数据框架:

       name  age gender
0     Alice   25      F
1       Bob   30      M
2   Charlie   35      M
3     David   40      M
4     Emily   45      F

现在我们可以使用两种不同的索引方法来选择数据框架中的列:

阅读更多:Pandas 教程

通过单括号’的方式索引

可以通过使用单括号'来选择列:

name_series = df['name']

我们得到了以下name列的序列:

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

请注意,返回的是 pandas.Series 类型对象,而不是 pandas.DataFrame 类型对象。

通过双括号]的方式索引

可以通过使用双括号]来选择列:

name_series = df[['name']]

我们得到了以下数据框架:

       name
0     Alice
1       Bob
2   Charlie
3     David
4     Emily

请注意,返回的是 pandas.DataFrame 类型对象。

行索引操作

接下来我们来看行索引操作。

df = pd.DataFrame({'foo': range(5), 'bar': range(5, 10)})

我们得到了以下数据框架:

   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9

通过单括号索引项:

df[2:4]

我们得到了以下数据框架:

   foo  bar
2    2    7
3    3    8

仔细看这行代码:

df[['foo', 'bar']][2:4]

正确答案应该是 [ ] 和 [ ] [ ] 。它们的使用方法如下:

df[['foo', 'bar']]

我们得到了以下数据框架:

   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9

使用切片和列索引:

df[['foo', 'bar']][2:4]

我们得到了以下输出:

   foo  bar
2    2    7
3    3    8

如您所见,两个括号的方式 [[]] 在刚才的例子中是无处不在的。我们采取的方法是“ 将两种操作分组,在最后使用一个操作 ”,这在某些情况下真的很方便。

总结

在Pandas中,单括号和双括号的索引有着相似但不同的用法。使用单个括号索引会返回一个 pandas.Series 对象,使用双括号索引会返回一个 pandas.DataFrame 对象。双括号索引还可以结合切片和列名使用,这在处理数据框架时非常方便。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程