Pandas如何将Index转换为列表

Pandas如何将Index转换为列表

在本文中,我们将介绍如何使用Pandas将数据帧(DataFrame)或序列(Series)中的索引(Index)转换为Python列表。Pandas是一个流行的数据分析库,用于数据清理,数据处理和数据可视化。数据帧和序列是Pandas使用的两个主要数据结构,而索引则是这些结构的重要组成部分。

阅读更多:Pandas 教程

什么是Pandas索引?

Pandas索引是一系列标签,可唯一标识数据帧或序列中的每个元素。索引既可以是整数索引(如0,1,2)也可以是标签索引(如’A’,’B’,’C’)。Pandas使用索引来方便地按标签进行筛选,排序和连接数据。 如果您使用过Excel等电子表格软件,那么每一列的列名就是类似于Pandas索引的存在。

例如,我们创建一个简单的数据帧:

import pandas as pd

df = pd.DataFrame({'Animal': ['Dog', 'Cat', 'Elephant', 'Mouse'], 'Legs': [4, 4, 4, 2]})
Python

该数据帧具有两个列:“Animal”和“Legs”,并且具有自动生成的整数索引,默认从零开始。该数据帧可以打印出来:

     Animal  Legs
0       Dog     4
1       Cat     4
2  Elephant     4
3     Mouse     2
Python

数据帧中的索引始终可以通过index属性访问:

print(df.index)
Python

输出:

RangeIndex(start=0, stop=4, step=1)
Python

在这种情况下,索引是数据帧行的默认整数索引。

我们可以通过指定index参数来创建数据帧时定义自定义索引:

df = pd.DataFrame({'Animal': ['Dog', 'Cat', 'Elephant', 'Mouse'], 'Legs': [4, 4, 4, 2]}, index=['A', 'B', 'C', 'D'])
Python

此时数据帧将变成:

     Animal  Legs
A       Dog     4
B       Cat     4
C  Elephant     4
D     Mouse     2
Python

现在我们有了自定义的标签索引。

序列中的索引和数据帧中的索引非常相似。我们可以看一个序列的例子:

s = pd.Series([10, 20, 30, 40], index=['A', 'B', 'C', 'D'])
Python

该序列具有四个元素,并根据所选的四个标签进行索引:

A    10
B    20
C    30
D    40
dtype: int64
Python

在这里,我们使用自定义索引创建了一个具有整数索引的序列。

将Pandas Index转换为Python List

从数据分析的角度来看,将Pandas索引转换为Python列表是一个常见的任务。这实际上是从Pandas数据结构向Python数据结构的转换。在某些情况下,例如将数据上传到Web服务,将索引转换为常规Python列表非常有用。

对于数据帧,我们可以通过以下方式从索引中获取列表:

df_index_list = df.index.tolist()
Python

例如,我们将刚创建的数据帧的索引转换为列表:

df = pd.DataFrame({'Animal': ['Dog', 'Cat', 'Elephant', 'Mouse'], 'Legs': [4, 4, 4, 2]}, index=['A', 'B', 'C', 'D'])

df_index_list = df.index.tolist()
print(df_index_list)
Python

输出:

['A', 'B', 'C', 'D']
Python

我们看到,返回的列表包含数据帧的索引标签。

对于序列,我们可以使用以下方式获取索引列表:

s_index_list = s.index.tolist()
print(s_index_list)
Python

输出:

['A', 'B', 'C', 'D']
Python

同样,我们看到返回的列表中包含序列的索引标签。

我们还可以使用values属性从Pandas Index对象获取其内部数据并将其转换为Python列表:

df_index_values = df.index.values.tolist()
s_index_values = s.index.values.tolist()

print(df_index_values)
print(s_index_values)
Python

输出:

['A', 'B', 'C', 'D']
['A', 'B', 'C', 'D']
Python

我们看到,在两种情况下,属性values都返回了索引的内部数据值,并使用tolist()方法将其转换为常规Python列表。

总结

本文介绍了如何使用Pandas将数据帧和序列中的索引转换为常规Python列表。我们讨论了Pandas索引的一些基本特征,并给出了如何访问索引以及如何将索引转换为列表的示例。这些技术对于在数据分析和数据科学中操作大型数据集非常有用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程